worker_processes
:設為CPU核心數或auto
。worker_connections
:單進程最大連接數,建議1024-65535,需結合系統限制調整。keepalive_timeout
:縮短至30-60秒,減少空閑連接占用內存。client_body_buffer_size
:常規設為8-32k,大文件可增大。proxy_buffer_size
/proxy_buffers
:代理場景按需調整,避免內存浪費。expires
指令設置長期緩存,減少重復請求。proxy_cache_path
配置緩存路徑,降低后端壓力。open_file_cache
緩存文件元數據,減少磁盤IO。/etc/sysctl.conf
:
net.ipv4.tcp_tw_reuse=1
:快速回收TIME_WAIT連接。vm.swappiness=10
:減少內存交換,優先使用物理內存。sysctl -p
使配置生效。--without-模塊名
移除冗余模塊(如不使用SSL時禁用ngx_http_ssl_module
)。top
/htop
監控內存使用,定位異常進程。nginx-module-vts
或Valgrind
檢測內存泄漏。sudo systemctl restart nginx
。參考來源: