優化Ubuntu上Nginx內存使用可從以下方面入手:
worker_processes auto;
使其自動匹配CPU核心數。events
塊中設置worker_connections
(如1024-4096),根據內存調整。client_body_buffer_size
(如4k-8k)、proxy_buffer_size
等參數,避免內存浪費。keepalive_timeout
(如15-30秒),減少長連接占用內存。open_file_cache
緩存靜態文件,或配置proxy_cache
緩存代理內容。/etc/sysctl.conf
,設置vm.swappiness=10-30
,減少交換分區使用。sendfile
和tcp_nopush
,減少內存拷貝開銷。--without-模塊名
禁用不需要的模塊(如郵件模塊),降低內存占用。top
、htop
或nginx -s status
監控內存使用,定期重啟Nginx釋放內存。參考來源: