百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Nginx性能优化10大技巧,线上必备!

off999 2025-09-29 09:54 51 浏览 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_cacheproxy_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_zonelimit_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

相关推荐

笔记本电脑联想好还是惠普好

惠普和联想为全球名列前茅的电脑品牌,其中惠普为美国品牌,联想为中国品牌。联想作为一个后起之秀,当年通过收购thankpad品牌,走向全球。电脑中又分出多种风格的子品牌,有的注重游戏性能,有的注重轻薄商...

手机和电脑怎么连接(苹果手机和电脑怎么连接)
  • 手机和电脑怎么连接(苹果手机和电脑怎么连接)
  • 手机和电脑怎么连接(苹果手机和电脑怎么连接)
  • 手机和电脑怎么连接(苹果手机和电脑怎么连接)
  • 手机和电脑怎么连接(苹果手机和电脑怎么连接)
如何安装路由器步骤(安装路由器操作步骤)

路由器安装设置共分两个步骤,依次是”路由器与光猫“串联,“宽带账号写入路由器”即可,方法如下:?步骤一首先将路由器与光猫串联,用网线一端连接至“光猫”的LAN端口,另一端连接至“路由器”的WAN端口“...

iphone序列号验机官网验机(iphone序列号验机官网验机免费)
  • iphone序列号验机官网验机(iphone序列号验机官网验机免费)
  • iphone序列号验机官网验机(iphone序列号验机官网验机免费)
  • iphone序列号验机官网验机(iphone序列号验机官网验机免费)
  • iphone序列号验机官网验机(iphone序列号验机官网验机免费)
86位系统是不是32位(86位和32位)

众所周知,同众多主打影音娱乐的系统不同,Windows从工业生产到金融消费、从个人应用到企业环境,应用领域极其广泛。以工业生产为例,嵌入式设备只需满足生产中特定的任务,并不追求过剩性能,故而现有绝大多...

msdn官网下载系统u盘(msdn下载后要怎么做u盘启动盘)

1.打开MSDN网站并搜索您需要下载的系统。2.找到并单击“下载”按钮。3.如果系统有多个版本,请选择您需要的版本。4.选择“保存到磁盘”并单击“确定”按钮。5.将U盘插入计算机,并打开文件...

u盘pe引导(u盘 引导)
  • u盘pe引导(u盘 引导)
  • u盘pe引导(u盘 引导)
  • u盘pe引导(u盘 引导)
  • u盘pe引导(u盘 引导)
如何快速重装电脑系统(怎样快捷重装系统)

十年前的老电脑win7和XP还是可以一战的,那么接下来一起看看十年前的老电脑重装系统方法吧!如何选择win7还是XP系统:1、WindowsXP要求的最低配置为64MB内存,而硬盘剩余空间只需...

快用苹果助手官方下载iphone用

原因:1、可能是因为网络不稳定等情况导致下载的文件损坏缺失的情况,您可以尝试删除后重新下载安装;2、因设备可用空间不足而导致的安装失败:请检查您的手机空间是否充足,手机空间不足,也会导致软件下载安装失...

电脑恢复出厂设置了怎么恢复数据

C盘数据会丢失,其他盘数据可以选择不删除而保留。恢复系统步骤如下。一、首先,打开电脑金瑞Windows10系统,在电脑桌面左下角点击“开始”,点击打开。二、然后,弹出的开始中选择“设置”,...

办公电脑(办公电脑租赁平台)

1、惠普战99推荐理由:这是一款具有144Hz高刷新率特点的轻松办公的强芯轻薄笔记本,采用15.6英寸广阔大屏,支持144Hz高刷新率,减少画面拖影和卡顿,带来更流畅的使用体验,惠普战99还是可以的!...

win7安装版iso(Win7安装版提示没有驱动)

网上下载的,你确定是GHOST版本的吗,如果是。那它就在其中文件夹里面。你再打开几个文件夹就可以看到,当然,官方网站下载的好像没有。最简单的方法也是最有效的方法在左边不是有个系统安装器.exe...

win7和win10哪个好看(win7和win10选哪个)

Win7系统最大的特点就是继承了XP系统的稳定优点,对硬件的兼容性强,Win10系统的内部有最新的DirectX12技术,在游戏体验方面,Win10系统要比Win7系统强很多。Win7和Win10可谓...

如何识别字体是哪一款字体(在线字体识别)

以下是其中几种常见的方法:1.观察字体的外观:首先,可以观察字体的外观,包括字体的粗细、字体的形状、笔画的形状等。不同的字体具有不同的风格和特征,因此可以通过观察字体的外观来识别它们。2.搜索特定的字...

主板bios设置中文(主板bios如何设置中文)
  • 主板bios设置中文(主板bios如何设置中文)
  • 主板bios设置中文(主板bios如何设置中文)
  • 主板bios设置中文(主板bios如何设置中文)
  • 主板bios设置中文(主板bios如何设置中文)

取消回复欢迎 发表评论: