Nginx性能优化10大技巧,线上必备!
off999 2025-09-29 09:54 71 浏览 0 评论
Nginx是大型架构的基石,下面我重点详解Nginx性能优化@mikechen
文章来源:mikechen.cc
1. 使用事件驱动模型
Nginx 采用事件驱动(event-driven)模型来处理请求,而不是为每个连接创建一个新的进程或线程。
这使得 Nginx 能够以更低的资源消耗处理大量并发连接。
2. 优化 Worker 进程配置
worker_processes 参数决定了 Nginx 启动多少个 worker 进程。一
个常见的做法是将这个值设置为服务器的 CPU 核心数,这样可以充分利用所有 CPU 资源。
worker_processesauto;worker_connections 参数定义了每个 worker 进程可以处理的最大并发连接数。建议将这个值设置得足够大,例如 1024 或更高,以满足高并发需求。
events{
worker_connections2048;
}3. 启用 gzip 压缩
Gzip 压缩:可以显著减少发送给客户端的数据量,从而加快网页加载速度。
gzipon;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_proxied any;
gzip_comp_level5;
gzip_buffers168k;
gzip_varyon;注意:gzip_proxied any; 表示代理服务器会压缩所有请求。gzip_comp_level 设置压缩级别,1是最低压缩,9是最高。建议使用中等值,例如 5。
4. 静态文件缓存
通过设置适当的 HTTP 缓存头,可以指导浏览器缓存静态文件(如图片、CSS、JS)。这可以减少重复请求,减轻服务器压力。
location~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|eot|ttf)${
expires30d;
add_headerCache-Control"public, no-transform";
}expires 30d; 指示浏览器缓存这些文件 30 天。
5. 使用缓存来加速动态内容
对于动态内容,可以使用 Nginx 的 fastcgi_cache 或 proxy_cache 来缓存后端应用(如 PHP-FPM, Node.js)的响应。
http{
# 定义缓存区域
fastcgi_cache_path/var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
fastcgi_cache_key"$scheme$request_method$host$request_uri";
server{
location~ \.php${
fastcgi_cache my_cache;
fastcgi_cache_valid20060m;# 缓存 HTTP 200 响应 60 分钟
fastcgi_pass127.0.0.1:9000;
}
}
}6. 减少 DNS 解析时间
在 Nginx 中,如果上游服务器地址是域名而不是 IP 地址,Nginx 会在启动时进行一次 DNS 解析。为了避免这个问题,可以使用 resolver 指令,并配置一个合适的 DNS 服务器。
location/{
resolver8.8.8.8;
proxy_pass http://backend_server;
}7. 开启 TCP_NODELAY
TCP_NODELAY 可以确保数据包立即发送,而不是等待更多数据来填满缓冲区。这对于低延迟的网络应用非常有用。
http{
tcp_nodelayon;
}8. 优化日志记录
日志记录会产生 I/O 消耗。为了提升性能,可以考虑关闭不必要的日志或使用 buffer 指令将日志写入内存缓冲区。
http{
access_logoff;# 关闭访问日志
# 或
# access_log /var/log/nginx/access.log buffer=32k;
}9. 限制请求速率
使用 limit_req_zone 和 limit_req 模块可以限制来自单个 IP 地址的请求速率,防止恶意攻击或滥用。
http{
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server{
location/login/{
limit_req zone=one burst=5;
}
}
}rate=1r/s 限制每秒一个请求,burst=5 允许短时间内的突发请求。
10. 使用 HTTP/2
HTTP/2 提供了多路复用、服务器推送和头部压缩等特性,可以显著提升网站性能。要启用 HTTP/2,只需在 listen 指令中添加 http2 参数。
server {
listen443 ssl http2;
# ...
}
文章来源:mikechen.cc
相关推荐
- 软件商店oppo官方下载(软件商店oppo官方下载最新版安装newwear)
-
在桌面找到软件商店在oppo的桌面上找到软件商店,也就是应用商店。打开商店看到软件打开商店之后,能够看到有很多的软件。下载软件看详细信息在此界面可以进行下载软件,看到软件的详细信息。OPPO手机...
- 红警下载(红警下载中文版下载)
-
网上直接搜可以找到很多下载资源,但是这些资源不一定能用!如果真想玩,建议直接在某宝花几块钱购买资源,不仅方便而且会教给你怎么设置,出现什么问题怎么解决,很方便!这款游戏资源不是很好找,网上一搜确实能找...
- 申请qq号码官网(申请qq号码官方网站)
-
1、首先打开手机上的qq,然后点击新用户注册。2、在弹出的页面输入手机号码,并点击下一步。3、将手机收到的验证码输入下方的输入框内。4、在弹出的页面中点击继续注册。5、在弹出的页面中,点击不绑定。6、...
- 在哪里找软件开发公司(怎么找开发软件的公司)
-
建立一个软件开发公司一般需要有一个技术团队和一个业务团队,以及一个面向行业的成熟的框架。开发公司一般都有一个有相对有技术实力的团队为开发做支撑,另外现在快速开发也是越来越流行,快速开发依赖于一个相对成...
- 奇书网txt下载全文免费下载(余下全文免费阅读app下载)
-
奇书网创建于2006年09月25日,奇书网小说下载网是专业的TXT小说下载,TXT电子书下载,手机小说下载网站。每日更新最新,最热门全集全本完结小说的TXT电子书免费下载。该站已收录小说39000多部...
- 养成类单机游戏(养成类手游排行榜前十名)
-
经营类:1、游戏发展国2、吃货大食堂3、冒险迷宫村4、和风物语5、口袋商业街6、二战风云7、蘑菇园8、模拟人生系列角色扮演类:1、艾亚迪诺32、艾亚迪诺43、泽诺尼亚34、刺客信条动作类:1、蜘蛛侠2...
-
- 下载会声会影免费版(下载会声会影免费版软件)
-
会声会影X5安装步骤:1、首先要进行会声会影下载,下载完成后双击运行“会声会影x5.exe”文件,等待安装。2、认真阅读最终用户许可协议,勾选“我接受许可协议中的条款”,点击下一步。3、在城市/区域中选择“中国”,视频标准选择“PAL/SE...
-
2026-02-02 12:15 off999
- qq飞车官方正版下载(qq飞车官方正版下载手机版)
-
这得看LZ家是什么电脑,如果是笔记本就要2个小时左右,苹果只要20分钟,,,大电脑的话就得看宽带了,电脑性能也很重要,不过差不多要1个小时左右下载QQ飞车体验服需要按照以下步骤进行:在手机应用商店搜...
- 谷歌paypal官网登录入口(谷歌账号恢复网站入口)
-
但是当我尝试添加paypal账户时,提示出错:因为与该账户相关联的国家或地区目前不受支持。我的paypal是国内的,GooglePlay曾gift充值买过软件,应该是绑在美区了。
- 2333小游戏(2333小游戏在线玩)
-
1.点击进入“233小游戏”APP,在*下面菜单栏中,点击“我的”,然后点击进入“账号管理”。2.在新出现的界面中,点击“账号注销”。3.此时界面会出现注销提示。在提示结束后,点击“申请注销”输入手机...
- 制作软件的app(制作软件的APP)
-
AndroLua+androlua是基于开源项目lua开发的轻型脚本编程工具,使用简洁优美的lua语言,简化了繁琐的Java语句,同时支持使用大部分安卓api.AndroLuaJAndroLuaJ集成...
- 哪里借钱最快最好通过(哪里借钱最快最好通过18岁)
-
谢邀~~如果着急用钱,想要来钱无非就是以下6种方式:1.信用卡优点:信用卡应该是急用钱时最简单快捷的方法,无论是刷卡还是取现,都可以应急。缺点:受信用卡账单日还款日约束,最快可能18天后就要还款~额度...
- 平安口袋银行app下载(平安口袋银行app下载安装到手机)
-
平安银行和平安口袋银行区别如下:平安银行,全称平安银行股份有限公司,是中国平安保险(集团)股份有限公司控股的一家跨区域经营的股份制商业银行,为中国大陆12家全国性股份制商业银行之一。平安口袋银行是由平...
- 中央刚刚宣布大消息(中央最新通知)
-
开工了,厦金大桥2022年10月26日的时候,金门大桥被公布办理了通车勘验的工作,并且最后定于10月30日开通,全线长5.4公里古巴基因工程和生物医药研究中心近日宣布研发出一种新药,可以有效地治疗慢性...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
