Nginx教程(3)-反向代理與負載均衡

反向代理

通常的代理服務器,只用於代理內部網絡對 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 最小的響應時間,計算節點平均響應時間,然後取響應最快的那個,分配更高權重。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章