反向代理
通常的代理服務器,只用於代理內部網絡對 Internet 的連接請求,客戶機必須指定代理服務器,並將本來要直接發送到 Web 服務器上的 http 請求發送到代理服務器中由代理服務器向 Internet 上的 web 服務器發起請求,最終達到客戶機上網的目的。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.1.10:8080;
}
}
反向代理的配置也是在虛擬主機server中,proxy_pass表示請求被代理的地址,同樣location也可以進行配置訪問的url,詳見。
負載均衡
負載均衡,英文名稱爲 Load Balance,簡稱LB(lowB),將請求均勻的分配到不同的服務上
upstream tomcat_server_pool{
ip_hash;
server 192.168.177.130:8080 weight=10 max_conns=800 max_fails=1 fail_timeout=20;
server 192.168.177.130:8081 weight=10;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcat_server_pool;
}
}
upstream表示負載均衡的機器,而proxy_pass直接指向upstream即可
upstream配置說明
- server
反向服務地址 加端口 - weight
權重,指定輪詢機率 - max_fails
失敗多少次 認爲主機已掛掉則,踢出 - fail_timeout
踢出後重新探測時間,服務被踢出後,每隔20秒檢測一次 - max_conns
允許最大連接數,根據服務器性能設置最大連接數
負載均衡算法:
- 輪詢
- ip_hash :
基於 Hash 計算,使得客戶端的 ip 訪問固定的 web(好處,保持session一致) - least_conn
最少鏈接 - least_time 最小的響應時間,計算節點平均響應時間,然後取響應最快的那個,分配更高權重。