要优化Nginx以提高Ubuntu服务器的性能,可以采取以下措施:
调整工作进程:
/etc/nginx/nginx.conf。worker_processes指令,将其设置为服务器的CPU核心数。例如,如果服务器有4个CPU核心,可以设置为worker_processes auto;或worker_processes 4;。优化连接数:
worker_connections指令,增加每个进程允许的最大连接数。例如,可以设置为worker_connections 1024;或更高,具体取决于服务器的内存和性能。启用TCP nodelay和TCP nopush:
http块中添加以下行:tcp_nopush on;
tcp_nodelay on;
使用keepalive:
http块中添加或修改以下行:keepalive_timeout 65;
keepalive_requests 100;
压缩传输内容:
http块中添加以下行:gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
静态文件缓存:
location块中添加以下行:location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
禁用不必要的模块:
使用HTTP/2:
server块中添加以下行:listen 443 ssl http2;
SSL/TLS优化:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
监控和日志:
nginx-statsd-module来收集统计信息。在进行这些优化之前,请确保备份原始配置文件,并在生产环境中应用更改之前在测试环境中进行测试。此外,根据服务器的具体用途和负载情况,可能需要进一步调整这些建议。