通常的代理服務(wù)器,只用于代理內(nèi)部網(wǎng)絡(luò)對(duì)Internet的連接請(qǐng)求,客戶機(jī)必須指定代理服務(wù)器,并將本來要直接發(fā)送到Web服務(wù)器上的http請(qǐng)求發(fā)送到代理服務(wù)器中由代理服務(wù)器向Internet上的web服務(wù)器發(fā)起請(qǐng)求,最終達(dá)到客戶機(jī)上網(wǎng)的目的(也就是正向代理)。
而反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。
如下圖:Nginx只做請(qǐng)求的轉(zhuǎn)發(fā),后臺(tái)有多個(gè)http服務(wù)器提供服務(wù),nginx的功能就是把請(qǐng)求轉(zhuǎn)發(fā)給后面的服務(wù)器,決定把請(qǐng)求轉(zhuǎn)發(fā)給誰。
2、安裝tomcat2個(gè),現(xiàn)在我們模擬的話服務(wù)器就采用tomcat來模擬。
<Server port="8006" shutdown="SHUTDOWN">
- <Connector port="8081" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
修改此3處端口號(hào),分別在原來基礎(chǔ)上加1,然后wq保存,啟動(dòng)兩臺(tái)tomcat8080.zcinfo.com 訪問運(yùn)行8080端口的tomcat
8082.zcinfo.com 訪問運(yùn)行8081端口的tomcat
如圖所示:hosts目錄是:C:\Windows\System32\drivers\etc
- upstream tomcatserver1 {
- server 192.168.3.43:8080;
- }
- upstream tomcatserver2 {
- server 192.168.3.43:8082;
- }
- server {
- listen 80;
- server_name 8080.zcinfo.com;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- proxy_pass http://tomcatserver1;
- index index.html index.htm;
- }
- }
- server {
- listen 80;
- server_name 8082.zcinfo.com;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- proxy_pass http://tomcatserver2;
- index index.html index.htm;
- }
- }
重啟nginx負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。
負(fù)載均衡,英文名稱為Load Balance,其意思就是分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。
2、需求
nginx作為負(fù)載均衡服務(wù)器,用戶請(qǐng)求先到達(dá)nginx,再由nginx根據(jù)負(fù)載配置將請(qǐng)求轉(zhuǎn)發(fā)至tomcat服務(wù)器。
nginx負(fù)載均衡服務(wù)器:192.168.3.43
tomcat1服務(wù)器:192.168.3.43:8080
tomcat2服務(wù)器:192.168.3.43:8081
3、nginx的配置- upstream tomcatserver1 {
- server 192.168.3.43:8080;
- server 192.168.3.43:8082; #多加了此臺(tái)服務(wù)器
- }
- upstream tomcatserver2 {
- server 192.168.3.43:8082;
- }
- server {
- listen 80;
- server_name 8080.zcinfo.com;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- proxy_pass http://tomcatserver1;
- index index.html index.htm;
- }
- }
- server {
- listen 80;
- server_name 8082.zcinfo.com;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- proxy_pass http://tomcatserver2;
- index index.html index.htm;
- }
- }
如果兩臺(tái)服務(wù)器性能差不多這樣設(shè)置重啟nginx就行了,但是現(xiàn)在假如兩臺(tái)服務(wù)器性能不一樣,還需要設(shè)置性能權(quán)重,讓性能高服務(wù)器做更多事情。只需要加入weight=?就行了,如下:- upstream tomcatserver1 {
- server 192.168.3.43:8080 weight=2;
- server 192.168.3.43:8082 weight=1;
- }
- upstream tomcatserver2 {
- server 192.168.3.43:8082;
- }
- server {
- listen 80;
- server_name 8080.zcinfo.com;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- proxy_pass http://tomcatserver1;
- index index.html index.htm;
- }
- }
- server {
- listen 80;
- server_name 8082.zcinfo.com;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- proxy_pass http://tomcatserver2;
- index index.html index.htm;
- }
- }
重新啟動(dòng)nginx,會(huì)發(fā)現(xiàn)8080出現(xiàn)了兩次,8082出現(xiàn)一次這樣輪循。ps:關(guān)于nginx負(fù)載均衡的一些參數(shù)介紹例子
- 節(jié)點(diǎn)說明:
- 在http節(jié)點(diǎn)里添加:
- #定義負(fù)載均衡設(shè)備的 Ip及設(shè)備狀態(tài)
- upstream myServer {
- server 127.0.0.1:9090 down;
- server 127.0.0.1:8080 weight=2;
- server 127.0.0.1:6060;
- server 127.0.0.1:7070 backup;
- }
- 在需要使用負(fù)載的Server節(jié)點(diǎn)下添加
- proxy_pass http://myServer;
- upstream 每個(gè)設(shè)備的狀態(tài):
- down 表示單前的server暫時(shí)不參與負(fù)載
- weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大。
- max_fails :允許請(qǐng)求失敗的次數(shù)默認(rèn)為1.當(dāng)超過最大次數(shù)時(shí),返回proxy_next_upstream 模塊定義的錯(cuò)誤
- fail_timeout:max_fails 次失敗后,暫停的時(shí)間。
- backup: 其它所有的非backup機(jī)器down或者忙的時(shí)候,請(qǐng)求backup機(jī)器。所以這臺(tái)機(jī)器壓力會(huì)最輕。
4、效果
聯(lián)系客服