nginx负载均衡与反向代理
生活随笔
收集整理的這篇文章主要介紹了
nginx负载均衡与反向代理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【1】負載均衡
1)問題:如何在多個網絡設備或服務器之間實現合理的業務量分配,使之不會出現一臺設備過忙,而其他設備卻沒有充分使用的情況。
2)解決方法:要解決這一問題,可以采用負載均衡的方法;
3)負載均衡定義:?負載均衡是由多臺服務器(以對稱的方式)組成一個服務器集合,每臺服務器都具有等價地位,都可以單獨對外提供服務;
負載均衡能夠平均分配客戶請求到服務器集合,借此快速獲取重要數據,解決大量并發訪問服務問題。這種集群技術可以用最少的投資獲得接近于大型主機的性能;
【2】反向代理
1)反向代理定義:?是指以代理服務器來接收 internet 上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器;
3)反向代理服務:當一個代理服務器能夠代理外部網絡上的主機訪問內部網絡時, 這種代理服務的方式稱為反向代理服務;
3.1)此時代理服務器對外就表現為一個web服務器,外部網絡就可以簡單把它當做一個標準的web服務器而不需要特定配置。
3.2)不同之處:這個服務器并沒有保存任何網頁的真實數據,所有靜態網頁或 CGI程序, 都保存在內部的web服務器上。因此對反向代理服務器的攻擊并不會使網頁信息遭到破壞,從而增強了web服務器的安全性(反向代理的作用);
【3】常見的web負載均衡方法
方法1)用戶手動選擇方式;
方法2)DNS輪詢方式:可靠性低,負載分配不平衡;
方法3)四/七層負載均衡設備:
3.1)硬件四/七層負載均衡交換機:F5 BIG-IP(最為常用), Citrix NetScaler, Radware, Cisco CSS, Foundry 等產生;
3.2)軟件四層負載均衡:代表為 LVS(linux virtual server)
[root@localhost nginx]# dig www.sina.com.cn; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> www.sina.com.cn ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7405 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION: ;www.sina.com.cn. IN A;; ANSWER SECTION: www.sina.com.cn. 127 IN CNAME spool.grid.sinaedge.com. spool.grid.sinaedge.com. 59 IN A 218.30.66.248;; Query time: 131 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Mon Mar 19 00:59:50 2018 ;; MSG SIZE rcvd: 86
1)問題:如何在多個網絡設備或服務器之間實現合理的業務量分配,使之不會出現一臺設備過忙,而其他設備卻沒有充分使用的情況。
2)解決方法:要解決這一問題,可以采用負載均衡的方法;
3)負載均衡定義:?負載均衡是由多臺服務器(以對稱的方式)組成一個服務器集合,每臺服務器都具有等價地位,都可以單獨對外提供服務;
負載均衡能夠平均分配客戶請求到服務器集合,借此快速獲取重要數據,解決大量并發訪問服務問題。這種集群技術可以用最少的投資獲得接近于大型主機的性能;
【2】反向代理
1)反向代理定義:?是指以代理服務器來接收 internet 上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器;
2)普通的web代理服務器不支持外部對內部網絡的訪問請求:
【補充】反向代理與正向代理:代理其實就是一個中介,A和B本來可以直連,中間插入一個C,C就是中介。剛開始的時候,代理多數是幫助內網client訪問外網server用的(比如HTTP代理)。后來出現了反向代理,"反向"這個詞在這兒的意思其實是指方向相反,即代理將來自外網client的請求forward到內網server,從外到內。
3)反向代理服務:當一個代理服務器能夠代理外部網絡上的主機訪問內部網絡時, 這種代理服務的方式稱為反向代理服務;
3.1)此時代理服務器對外就表現為一個web服務器,外部網絡就可以簡單把它當做一個標準的web服務器而不需要特定配置。
3.2)不同之處:這個服務器并沒有保存任何網頁的真實數據,所有靜態網頁或 CGI程序, 都保存在內部的web服務器上。因此對反向代理服務器的攻擊并不會使網頁信息遭到破壞,從而增強了web服務器的安全性(反向代理的作用);
【3】常見的web負載均衡方法
方法1)用戶手動選擇方式;
方法2)DNS輪詢方式:可靠性低,負載分配不平衡;
方法3)四/七層負載均衡設備:
3.1)硬件四/七層負載均衡交換機:F5 BIG-IP(最為常用), Citrix NetScaler, Radware, Cisco CSS, Foundry 等產生;
3.2)軟件四層負載均衡:代表為 LVS(linux virtual server)
3.3)軟件七層負載均衡:大多基于http反向代理方式, 如 nginx, L7SW(layer7 switching), HAProxy 等;
補充)其中nginx 的反向代理負載均衡能夠很好地支持虛擬主機,可配置性很強,可以按照 輪詢, ip哈希, URL哈希, 權重等多種方式對后端服務器做負載均衡,同時支持后端服務器的健康檢查;
方法4)多線多地區智能 DNS 解析與混合負載均衡方式;[root@localhost nginx]# dig www.sina.com.cn; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> www.sina.com.cn ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7405 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION: ;www.sina.com.cn. IN A;; ANSWER SECTION: www.sina.com.cn. 127 IN CNAME spool.grid.sinaedge.com. spool.grid.sinaedge.com. 59 IN A 218.30.66.248;; Query time: 131 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Mon Mar 19 00:59:50 2018 ;; MSG SIZE rcvd: 86
總結
以上是生活随笔為你收集整理的nginx负载均衡与反向代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps怎么保存为png格式(ps如何保存为
- 下一篇: http响应状态码列表