1. 程式人生 > 實用技巧 >nginx 反向代理 負載均衡 頁面快取

nginx 反向代理 負載均衡 頁面快取

1.選擇兩臺

一臺做代理(192.168.121.13)

二臺做伺服器 (192.168.121.9)

(192.168.121.13)

2.在nginx.conf

http {

upstream loadbance {

server 192.168.121.9 weight=1 max_fails=2 fail_timeout=20s;

server 192.168.121.131 weight=1 max_fails=2 fail_timeout=20s;

}

server {

listen 80;

server_name localhost;

location / {

proxy_pass http://loadbance;


proxy_set_header X-Real-IP $remote_addr;


4.在瀏覽器下輸入192.168.121.13/index.html

看到192.168.121.9zhm2.test.com

192.168.121.131zhm3.test.com

那反向代理就成功了。

然後去各個伺服器 tail -f /usr/local/nginx/logs/access.log

會看到真正的客戶端機器ip,而不是代理伺服器的ip。


5.在把其中伺服器 9 service nginx stop

在去192.168.121.13去刷頁面,就只會一直重新整理 13

重新再把nginx啟動起來,又可以交替重新整理,可以用來驗證伺服器是否健康開啟。


6.如果在upstream loadbance {

ip_hash

server 192.168.121.9 weight=1 max_fails=2 fail_timeout=20s;

server 192.168.121.131 weight=1 max_fails=2 fail_timeout=20s;

再去刷頁面,會不停的重新整理 9 這臺伺服器的頁面。

如果你把131 伺服器的權重 改成2,那麼ip_hash就會一直重新整理131這臺。

因為權重越大 機率越高。


7.頁面快取

先建立個/usr/local/nginx/cache/loadbance 放置快取目錄

在nginx.conf

proxy_cache_path /usr/local/nginx/cache/loadbance levels=1:2 keys_zone=load

bance:20m max_size=1g;

server {


add_header X-Via $server_addr;
add_header X-Cache $upstream_cache_status;


location / {


proxy_cache_valid 200 10m;

然後重新整理頁面,在去/usr/local/nginx/cache/loadbance檢視,會有快取。

去谷歌介面檢視
wKiom1TIpZSCjeN7AAGbGh4S8fI288.jpg

快取就成功了。

轉載於:https://blog.51cto.com/yzg784534398/1608738