提升Nginx在CentOS上的性能可以通过多种方式实现,以下是一些关键的优化技巧:
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
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
sysctl -p
worker_processes auto;
events {
    worker_connections 1024;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
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)$ {
    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;
}
events {
    multi_accept on;
}
http {
    client_body_buffer_size 10K;
    client_header_buffer_size 1k;
    client_max_body_size 8m;
    large_client_header_buffers 4 4k;
}
http {
    open_log_file_cache max=1000 inactive=20s min_uses=2;
}
server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
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;
        }
    }
}
在进行任何更改之前,请确保备份配置文件,并进行适当的测试和性能监测,以确保所做的优化不会导致任何不良影响。