debian

Debian LNMP中Nginx配置技巧有哪些

小樊
46
2025-08-24 00:32:50
栏目: 智能运维

以下是Debian LNMP中Nginx的配置技巧,涵盖性能、安全及优化等方面:

一、性能优化

  1. 基础参数调优

    • worker_processes auto;:自动匹配CPU核心数。
    • worker_cpu_affinity auto;:自动绑定CPU核心,减少跨核调度开销。
    • worker_rlimit_nofile 65535;:提升文件描述符上限,需同步修改系统限制。
    • use epoll;:启用Linux高效事件模型,支持高并发。
  2. 传输与缓存优化

    • sendfile on;:开启零拷贝文件传输,减少CPU消耗。
    • tcp_nopush on;:配合sendfile优化数据包传输。
    • keepalive_timeout 65; keepalive_requests 100000;:长连接复用,降低TCP握手开销。
    • 静态资源缓存:通过expiresCache-Control头缓存图片、CSS等静态文件。
  3. PHP-FPM协同优化

    • 调整fastcgi_read_timeout(如300秒),适配PHP脚本执行时间。
    • 启用fastcgi_buffer_sizefastcgi_buffers,优化PHP响应缓冲。

二、安全加固

  1. 基础安全配置

    • server_tokens off;:隐藏Nginx版本信息,降低被针对性攻击的风险。
    • 禁用危险HTTP方法:limit_except GET POST { deny all; }
    • add_header X-Frame-Options "SAMEORIGIN";:防止点击劫持。
    • add_header X-XSS-Protection "1; mode=block";:启用XSS防护。
  2. 访问控制与加密

    • IP白名单/黑名单:通过allow/deny限制敏感目录访问。
    • 启用HTTPS:配置SSL证书,强制跳转HTTPS(return 301 https://$host$request_uri;)。
    • 强化SSL协议:仅支持TLSv1.2/1.3,禁用不安全的旧版本。
  3. 防攻击策略

    • 限制请求速率:limit_req_zone + limit_req防止DDoS/暴力破解。
    • 限制连接数:limit_conn_zone限制单个IP的并发连接数。
    • 防止CSRF攻击:通过SameSite属性限制Cookie跨站发送。

三、常用配置技巧

  1. 虚拟主机管理

    • 通过/etc/nginx/sites-available//etc/nginx/sites-enabled/管理多站点,避免单配置文件冗余。
    • 示例配置:
      server {  
          listen 80;  
          server_name example.com;  
          root /var/www/example;  
          location / { try_files $uri $uri/ =404; }  
      }  
      
  2. 日志与监控

    • 分离访问日志和错误日志:access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;
    • 启用Nginx状态页(需配合ngx_http_stub_status_module):stub_status on;,用于监控连接数和请求状态。
  3. 系统级优化

    • 调整内核参数(需执行sysctl -p生效):
      net.core.somaxconn=65535  
      net.ipv4.tcp_tw_reuse=1  
      net.ipv4.tcp_max_syn_backlog=65535  
      

四、注意事项

以上配置参考自,可根据实际业务需求调整参数。

0
看了该问题的人还看了