在CentOS上优化Nginx的性能可以通过多种方式实现,以下是一些关键的优化技巧:
worker_processes
为 CPU 核心数。例如,如果服务器有8个CPU核心,可以设置为8。worker_processes auto;
表示Nginx会根据CPU核心数自动分配工作进程数。worker_connections
。通常设置为1024或更高。events { worker_connections 1024; use epoll; }
使用 epoll 事件模型(Linux)。ngx_http_gzip_module
模块启用 Gzip 压缩,减少传输数据量,提高响应速度。http { gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; }
location ~* \.(jpg|jpeg|png|gif|ico|css|js|pdf)$ { expires 30d; add_header Cache-Control "public, no-transform"; }
server { listen 443 ssl http2; }
server { ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH; ssl_prefer_server_ciphers on; }
upstream backend { server 192.168.1.101; server 192.168.1.102; server 192.168.1.103; }
echo "fs.file-max = 65535" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog = 65535" >> /etc/sysctl.conf echo "net.core.somaxconn = 65535" >> /etc/sysctl.conf
proxy_cache
或 fastcgi_cache
缓存后端响应,减少对数据库或应用服务器的请求。http { proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off; server { location / { proxy_cache my_cache; proxy_cache_valid 200 302 30m; proxy_cache_valid 404 1m; } } }
error_log /var/log/nginx/error.log crit; access_log /var/log/nginx/access.log main;
通过上述优化技巧,可以显著提升Nginx在CentOS上的性能。根据具体需求,可以进一步调整和优化配置。