溫馨提示×

centos lnmp下nginx優化策略

小樊
48
2025-09-05 23:59:12
欄目: 智能運維

以下是CentOS下LNMP環境中Nginx的優化策略:

一、基礎性能優化

  • 工作進程配置
    worker_processes auto; // 自動匹配CPU核心數
    worker_cpu_affinity auto; // 綁定CPU核心(Linux專用)
    worker_rlimit_nofile 65535; // 提升單個進程最大文件描述符數
  • 事件模型優化
    use epoll; // 啟用Linux高效事件模型
    multi_accept on; // 允許同時接受多個連接
    worker_connections 10240; // 單進程最大連接數(需結合系統ulimit調整)

二、HTTP傳輸優化

  • 高效傳輸
    sendfile on; // 啟用零拷貝文件傳輸
    tcp_nopush on; // 優化數據包發送
    tcp_nodelay on; // 禁用Nagle算法,降低延遲
  • 緩存與壓縮
    靜態資源緩存:
    location ~* \.(jpg|css|js)$ {  
        expires 365d;  
        add_header Cache-Control "public, immutable";  
    }  
    
    Gzip壓縮:
    gzip on;  
    gzip_types text/css application/javascript text/xml;  
    gzip_comp_level 6;  
    

三、安全與訪問控制

  • 隱藏敏感信息
    server_tokens off; // 隱藏Nginx版本
    禁止訪問敏感文件:
    location ~ /\.(ht|git|svn) {  
        deny all;  
    }  
    
  • SSL優化(如啟用HTTPS)
    ssl_protocols TLSv1.2 TLSv1.3;  
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';  
    ssl_prefer_server_ciphers on;  
    ssl_session_cache shared:SSL:10m;  
    ssl_session_timeout 10m;  
    

四、動態資源優化(PHP場景)

  • PHP-FPM配置
    調整pm.max_children(建議設置為CPU核心數×2+1),避免進程頻繁創建銷毀。
    啟用OpCache緩存PHP字節碼,減少重復編譯開銷。
  • 反向代理優化
    location ~ \.php$ {  
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
        fastcgi_buffer_size 128k;  
        fastcgi_buffers 4 256k;  
        fastcgi_busy_buffers_size 256k;  
        fastcgi_read_timeout 300;  
    }  
    

五、系統級優化

  • 內核參數調整
    編輯/etc/sysctl.conf,添加:
    net.core.somaxconn = 65535  
    net.ipv4.tcp_max_syn_backlog = 65535  
    vm.swappiness = 0 # 禁用交換分區(服務器內存充足時)  
    
  • 文件系統優化
    使用XFS文件系統,調整掛載參數(如noatime,nodiratime)減少磁盤I/O。

六、監控與調優工具

  • 使用nginx -t檢查配置語法,nginx -s reload重新加載配置。
  • 通過top、htop監控CPU/內存使用,ss -tulnp查看網絡連接狀態。
  • 日志分析:定期查看access_logerror_log,定位性能瓶頸。

:優化需結合服務器硬件配置(如CPU/內存/磁盤類型)和實際業務場景調整,建議先在測試環境驗證效果后再應用到生產環境。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女