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
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檢視,會有快取。
快取就成功了。
轉載於:https://blog.51cto.com/yzg784534398/1608738