NGINX負載均衡快取配置

2022-03-03 03:16:02 字數 3045 閱讀 1622

環境:vmware-workstation-12-pro,windows-10,centos-7.5,xshell5

如果我們的架構是前端負載均衡後端web集群時,可以開啟nginx的快取功能,把靜態資源快取到負載均衡機器上,這樣負載均衡機器不用每次都去後端web集群獲取資源,從而提高效率,當然單台機器開啟快取功能也是一樣。

參考nginx配置

[root@lb01 ~]# hostname -i

10.0.0.5 10.0.0.3 172.16.1.5

[root@lb01 ~]# cat /etc/nginx/proxy_params

proxy_set_header host $host;

proxy_set_header x-real-ip $remote_addr;

proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;

proxy_set_header x-forwarded-proto $scheme;

proxy_connect_timeout 30;

proxy_send_timeout 60;

proxy_read_timeout 60;

proxy_buffering on;

proxy_buffer_size 32k;

proxy_buffers 4 128k;

upstream static

upstream dynamic

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=static:10m inactive=24h max_size=1g; #★★★

server

location /

}[root@lb01 ~]# mkdir -p /data/nginx/cache

[root@lb01 ~]# nginx -t

[root@lb01 ~]# systemctl restart nginx

解釋proxy_cache static;引用在http區塊定義的快取。

proxy_cache_valid any 1m;快取所有狀態碼,可以把any替換成200,301等,1m表示快取1分鐘。

配置好之後,多重新整理幾次瀏覽器,可以在負載機器上看到已經生成的檔案,如下:

程序過濾可以發現nginx多出乙個快取程序:

上述是官方語法貼過來的,其中不可省略的內容顯然是最關鍵的。path定義快取檔案存放路徑,keys_zone=name:size分別定義快取名稱和快取鍵值占用空間大小,快取名稱可以給proxy_cache指令用。

後面的引數都是關於快取達到最大占用空間後麼個刪法,詳情見官網。

zone是乙個名稱,由proxy_cache_path指令定義。

控制快取哪些狀態碼,以及快取多長時間。狀態碼是可選的,如果僅僅定義快取時間,則200,301,302會被快取。該指令可以多次使用,如下:

proxy_cache_valid 200 302 10m;

proxy_cache_valid 301 1h;

proxy_cache_valid any 1m;

表示200,302(臨時重定向)快取10分鐘,301(永久重定向)快取1分鐘,其它狀態碼快取1分鐘。快取時間還可以通過其它方式控制,詳情見官網。

不敢大言不慚稱之為最佳實踐,配置僅供參考:

upstream static

upstream dynamic

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=static:10m

inactive=24h max_size=1g;

server

location /

}1 官方快取配置示例(推薦)

2 ngx_http_proxy_module(快取功能對應的模組)

其它參考資料

3 快取伺服器設計與實現(二) - 半夏曲l(推薦)

nginx負載均衡配置

curl nginx upstream fair.zip unzip nginx upstream fair.zip cd nginx 1.6.2 檢視當前nginx 編譯引數 nginx v 輸出 configure arguments prefix usr local nginx configu...

Nginx負載均衡配置

負載均衡是我們大流量 要做的乙個東西,下面我來給大家介紹在nginx伺服器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。負載均衡 先來簡單了解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是...

Nginx負載均衡配置

nginx安裝請參考 nginx原始碼安裝 nginx負載均衡是通過upstream模組來實現的,內建實現了三種負載策略,配置還是比較簡單的。官網負載均衡配置說明 省略其它配置 根據伺服器的響應時間來分配請求,響應時間短的優先分配,即負載壓力小的優先會分配。由於fair模組是第三方提供的,所以在編譯...