nginx在centos上如何资源占用优化
小樊
40
2025-08-16 17:21:34
一、内核参数优化
- 调整TCP连接参数:修改
/etc/sysctl.conf,设置net.ipv4.tcp_max_tw_buckets=6000、net.ipv4.tcp_tw_reuse=1、net.core.somaxconn=65535等,减少连接占用。 - 增加文件描述符限制:在
/etc/sysctl.conf中设置fs.file-max=10000000,并在/etc/security/limits.conf中配置nofile限制。
二、Nginx配置优化
- 调整工作进程:设置
worker_processes auto;,并根据CPU核心数调整worker_connections(建议1024-4096)。 - 启用高效传输:开启
sendfile on;、tcp_nopush on;,提升文件传输效率。 - 静态资源缓存:通过
expires指令缓存图片、CSS等静态文件,减少后端请求。 - 启用HTTP/2:在HTTPS配置中添加
http2,利用多路复用降低延迟。 - 优化SSL/TLS:仅启用TLSv1.2/1.3,配置高效加密套件(如
EECDH+AESGCM)。
三、系统资源限制
- 限制Nginx进程资源:通过
worker_rlimit_nofile限制文件描述符使用,或使用cgroups限制CPU/内存占用。 - 禁用不必要的模块:编译时移除
autoindex等非必要模块,减少内存占用。
四、监控与调优
- 实时监控:使用
top、htop或nginx-module-vts监控资源使用情况,调整配置参数。 - 日志管理:优化日志级别,避免高频写入(如
access_log off;对静态资源生效)。