在CentOS中优化Nginx的性能是一个多层次的过程,涉及到配置优化、操作系统调整、以及硬件资源的配置。以下是一些关键的优化技巧:
文件描述符限制:
/etc/sysctl.conf
文件,增加以下行:fs.file-max = 10000000
fs.nr_open = 10000000
sysctl -p
TCP连接队列长度:
/etc/sysctl.conf
文件,增加以下行:net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535
临时端口范围:
/etc/sysctl.conf
文件,增加以下行:net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.ip_local_reserved_ports = 8080,8081,9000-9010
工作进程:
worker_processes
为CPU核心数:worker_processes auto;
工作进程连接数:
worker_connections
为每个工作进程可以处理的最大连接数,通常设置为1024或更高:events {
worker_connections 4096;
}
启用KeepAlive:
http {
keepalive_timeout 65;
}
Gzip压缩:
http {
gzip on;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xmlrss text/javascript;
}
缓存静态资源:
location ~* \.(jpg|jpeg|png|gif|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
负载均衡:
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
状态监控:
nginx-module-vts
模块收集Nginx状态信息,并结合 htop
监控工具实时监控服务器性能指标。日志分析:
通过上述优化技巧,可以显著提升Nginx在CentOS上的性能,确保服务器能够高效处理大量请求,同时降低系统延迟和资源消耗。