溫馨提示×

Nginx如何優化Ubuntu服務器性能

小樊
47
2025-07-30 09:15:11
欄目: 云計算

要優化Nginx在Ubuntu服務器上的性能,可以采取以下措施:

基礎架構優化

  • 進程模型調優

    • worker_processes auto;:自動匹配CPU核心數。
    • worker_cpu_affinity auto;:CPU親和性綁定。
    • worker_rlimit_nofile 65535;:突破系統文件限制。
  • 文件描述符上限設置:預防"Too many open files"錯誤。

傳輸效率優化

  • 緩沖區智能配置

    • client_body_buffer_size 16k;:請求體緩沖區大小。
    • client_header_buffer_size 4k;:請求頭緩沖區大小。
    • large_client_header_buffers 4 32k;:超大請求頭處理。
    • client_max_body_size 20m;:最大上傳文件限制。
    • client_body_timeout 30s;:請求體超時時間。
    • sendfile on;:零拷貝傳輸。
    • tcp_nopush on;:合并數據包發送。
  • 壓縮配置

    • gzip on;:啟用壓縮。
    • gzip_min_length 1k;:超過1KB才壓縮。
    • gzip_comp_level 4;:壓縮級別(1-9)。
    • gzip_types text/plain application/xml application/json;:壓縮文件類型。
    • gzip_vary on;:兼容老舊代理服務器。

緩存策略優化

  • 靜態資源緩存

    • location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {expires 365d; add_header Cache-Control "public";}:開啟內存緩存。
    • open_file_cache max=1000 inactive=20s;:打開文件緩存。
    • open_file_cache_valid 30s;:緩存有效期。
    • open_file_cache_min_uses 2;:緩存未使用的文件。
  • 代理緩存加速

    • proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g;:配置代理緩存路徑。
    • location / {proxy_cache my_cache;}:啟用代理緩存。

操作系統調優

  • 內核參數調整
    • net.core.somaxconn = 65535;:最大待處理數據包。
    • net.ipv4.ip_local_port_range = 1024 65535;:臨時端口范圍。
    • net.ipv4.tcp_tw_reuse = 1;:快速回收TIME-WAIT連接。
    • net.ipv4.tcp_tw_recycle = 1;:最大打開文件數。
    • fs.file-max = 209;。

其他優化建議

  • 啟用HTTP/2
    • listen 443 ssl http2;:啟用HTTP/2協議。
    • ssl_protocols TLSv1.2 TLSv1.3;:僅保留安全協議。
    • ssl_session_cache shared:SSL:10m;:會話復用配置。

通過上述優化措施,可以顯著提升Nginx在Ubuntu上的性能,從而更好地服務于用戶。

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