歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Nginx學習筆記-負載均衡和反向代理


1.代理與反向代理 代理服務器: 代理內部網絡對Internet的連接請求。 不支持外部對內部網絡的訪問請求。 反向代理服務器: 代理外部網絡上的主機訪問內部網絡。   www.2cto.com   2.常見WEB負載均衡方法 (1)用戶手動選擇 常見於各個資源下載網站,用戶自己手動選擇從哪個服務器下載。 (2)DNS輪詢方式 對同一主機名,添加多條A記錄,讓其DNS輪詢多個IP 可以通過Linux的dig命令查看域名解析情況: dig xxx.baidu.com DNS輪詢的缺點:    www.2cto.com   A.可靠性低 B.負載分配不均衡 因此DNS輪詢適用於可靠性要求不高的負載均衡,比如圖片服務器集群、純靜態網頁服務器集群等。 (3)四/七層負載均衡設備 通常作用與OSI的第四層或第七層 OSI:開放系統互連模型(Open System Interconnection)   具體7層 數據格式 功能與連接方式 典型設備 應用層 Application ​ 網絡服務與使用者應用程序間的一個接口 網關 表示層 Presentation ​ 數據表示、數據安全、數據壓縮 ​ 會話層 Session ​ 建立、管理和終止會話 ​ 傳輸層 Transport 數據組織成數據段Segment 用一個尋址機制來標識一個特定的應用程序(端口號) 防火牆 網絡層 Network 分割和重新組合數據包Packet 基於網絡層地址(IP地址)進行不同網絡系統間的路徑選擇 路由器 數據鏈路層 Data Link 將比特信息封裝成數據幀Frame 在物理層上建立、撤銷、標識邏輯鏈接和鏈路復用 以及差錯校驗等功能。通過使用接收系統的硬件地址或物理地址來尋址 網橋、交換機、網卡 物理層Physical 傳輸比特(bit)流 建立、維護和取消物理連接 光纖、同軸電纜、 
雙絞線、中繼器和集線器     3.多線多地區智能DNS解析與混合負載均衡方式   4.Nginx反向代理配置 使用反向代理之後,後端WEB服務器(以PHP為例),就不能直接通過$_SERVER['REMOTE_ADDR']變量來獲取用戶的真實IP了,這時獲取的將是Nginx負載均衡服務器的IP。此時需要在Nginx反向代理時添加Header頭信息X-Forwarded-For,讓後端服務器能通過$_SERVER['HTTP-X-FORWORDED-FOR']獲取用戶真實IP。參考平時我們常用的獲取用戶IP的函數。   5.動靜態網頁分離   Citrix NetScaler 4-7層負載均衡器(基於TCP) Nginx負載均衡架構     6.關鍵的Upstream模塊 Upstream:Nginx負載均衡的主要模塊,位於http之內,默認的負載均衡方式為輪詢。 ip_hash:負載均衡時,將某個客戶端IP的請求,通過哈希算法,定位到同一台後端服務器上,以解決session不共享的問題。  www.2cto.com   如果能做到session共享,還是不要用這個配置,因為其可能造成負載不均衡。 摘除負載均衡服務器,需要設置其down,而不是刪除記錄,刪除記錄可能造成session失效(原來的back1hash到back2上去了) upstream backend{      ip_hash;      server back1.10jqka.com.cn;      server back2.10jqka.com.cn;      server back3.10jqka.com.cn down; }   server 語法: server name [parameters] 默認none name可以是域名、IP、端口號、UNIX Socket parameters可以是   www.2cto.com   7.負載均衡服務器的雙機高可用 兩種實現方式: (1)一台主服務器加一台熱備服務器 (2)兩台負載均衡服務器
 
Copyright © Linux教程網 All Rights Reserved