優化你的Nginx配置以提高網站流量

一、使用緩存來提高網站速度

1、啟用緩存

http {
  ...
  proxy_cache_path /var/cache/nginx keys_zone=cache_zone:10m;
  ...
  server {
    ...
    proxy_cache cache_zone;
    proxy_cache_revalidate on;
    proxy_cache_min_uses 3;
    proxy_cache_lock on;
    proxy_cache_valid 200 10m;
    ...
  }
}

2、緩存策略

proxy_cache_valid 200 10m;

上面的配置意味着,當收到狀態碼為200(成功)的響應時,將響應保存在緩存中並可被下次訪問使用,緩存有效時間為10分鐘。

3、控制緩存的粒度

http {
  ...
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m inactive=60m;
  ...
  server {
    ...
    location / {
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404      1m;
      proxy_cache_valid any      0m;
      proxy_cache_lock on;
      proxy_cache_bypass $http_pragma;
      proxy_cache_revalidate on;
      ...
    }
  }
}

上面的配置刪除了在緩存路徑中使用多個級別,轉而使用了單級。同時,我們控制了緩存鍵值(proxy_cache_key)和緩存的有效時間(proxy_cache_valid),以更好地精確控制緩存的使用。

二、使用gzip壓縮靜態資源

1、啟用gzip壓縮

http {
  ...
  gzip on;
  gzip_min_length 1000;
  gzip_comp_level 2;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
  gzip_disable "MSIE [1-6]\.";
  ...
}

上面的配置意味着,啟用gzip壓縮,並設置最小壓縮長度、壓縮等級、壓縮類型以及禁用IE6之前的版本。使用gzip壓縮靜態資源可以減小頁面體積,減少傳輸時間,提高網站速度。

2、壓縮動態內容

http {
  ...
  gzip_proxied any;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject font/ttf font/opentype image/svg+xml;
  ...
}

上面的配置意味着,壓縮任何類型的內容,並設置壓縮類型。這樣,可以使動態內容也能夠被gzip壓縮,提升網站速度。

三、減少HTTP請求次數

1、合併CSS和JS文件

可以通過工具將多個CSS或JS文件合併成一個,從而減少HTTP請求的次數。然後使用以下方法來配置Nginx,讓它緩存合併後的文件。這樣,當用戶再次訪問相同頁面時,Nginx會直接返回已經合併的文件,而不用再次發起HTTP請求。

http {
  ...
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache_zone:10m inactive=60m;
  ...
  server {
    ...
    location /combined.js {
      add_header Cache-Control "public, max-age=86400";
      proxy_cache cache_zone;
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_cache_valid 200 302 60m;
      proxy_cache_valid 404 1m;
      proxy_cache_lock on;
      proxy_cache_bypass $http_pragma;
      proxy_cache_revalidate on;
      rewrite ^/combined.js$ /js/combined.js last;
      ...
    }
    location /combined.css {
      add_header Cache-Control "public, max-age=86400";
      proxy_cache cache_zone;
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_cache_valid 200 302 60m;
      proxy_cache_valid 404 1m;
      proxy_cache_lock on;
      proxy_cache_bypass $http_pragma;
      proxy_cache_revalidate on;
      rewrite ^/combined.css$ /css/combined.css last;
      ...
    }
  }
}

2、利用緩存來減少HTTP請求次數

上面已經提到了如何使用緩存來優化網站速度,這裡再次強調:緩存可以大大減少HTTP請求次數,從而提高網站速度。因此,在配置Nginx的過程中,請注意緩存的使用。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199423.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-05 10:21
下一篇 2024-12-05 10:21

相關推薦

發表回復

登錄後才能評論