centos

centos lnmp如何优化Nginx配置

小樊
43
2025-06-20 14:52:22
栏目: 智能运维

在CentOS系统中,LNMP指的是Linux、Nginx、MySQL和PHP的组合。要优化Nginx配置,可以遵循以下步骤:

  1. 调整工作进程: 打开Nginx配置文件,通常位于/etc/nginx/nginx.conf,找到worker_processes指令,将其设置为等于CPU的核心数。这样可以确保Nginx充分利用硬件资源。

    worker_processes auto; # 或者设置为CPU核心数,例如 4
    
  2. 调整连接数: 在events块中,可以设置每个worker进程允许的最大并发连接数。

    events {
        worker_connections 1024; # 可以根据需要调整这个值
    }
    
  3. 启用Gzip压缩: 在http块中,启用Gzip压缩可以减少网络传输的数据量,加快页面加载速度。

    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;
    }
    
  4. 静态文件缓存: 对于静态文件,可以设置缓存以减少对磁盘的访问。

    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }
    
  5. 关闭不必要的模块: 在编译Nginx时,可以关闭不需要的模块以减少Nginx的内存占用。

  6. 使用keepalive: 在http块中,启用keepalive可以复用TCP连接,减少连接建立和关闭的开销。

    http {
        keepalive_timeout 65;
        keepalive_requests 100;
    }
    
  7. 优化SSL/TLS设置: 如果使用HTTPS,可以通过优化SSL/TLS设置来提高安全性并减少资源消耗。

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    
  8. 错误页面和日志: 自定义错误页面可以提升用户体验,同时合理配置日志级别和日志文件大小有助于监控和故障排查。

    error_page 404 /404.html;
    location = /404.html {
        root /usr/share/nginx/html;
    }
    
  9. 安全设置: 限制访问日志的大小,防止日志文件过大影响性能。

    access_log /var/log/nginx/access.log combined buffer=32k flush=300s;
    
  10. 使用TCP nodelay和TCP nopush: 这些选项可以优化TCP协议的使用。

    tcp_nopush on;
    tcp_nodelay on;
    

在调整配置后,不要忘记重新加载或重启Nginx服务以应用更改:

sudo nginx -s reload

或者

sudo systemctl reload nginx

请注意,优化是一个持续的过程,可能需要根据实际的应用场景和流量模式进行调整。在生产环境中应用任何更改之前,建议在测试环境中进行充分的测试。

0
看了该问题的人还看了