成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Nginx 反向代理 負(fù)載均衡 虛擬主機(jī)配置

godlong_X / 3064人閱讀

摘要:反向代理負(fù)載均衡虛擬主機(jī)配置通過(guò)本章你將學(xué)會(huì)利用配置多臺(tái)虛擬主機(jī),清楚代理服務(wù)器的作用,區(qū)分正向代理和反向代理的區(qū)別,搭建使用反向搭理和負(fù)載均衡,了解常用配置的說(shuō)明。最重要的是反向代理,負(fù)載均衡。

Nginx 反向代理 負(fù)載均衡 虛擬主機(jī)配置

通過(guò)本章你將學(xué)會(huì)利用Nginx配置多臺(tái)虛擬主機(jī),清楚代理服務(wù)器的作用,區(qū)分正向代理和反向代理的區(qū)別,搭建使用Nginx反向搭理和負(fù)載均衡,了解Nginx常用配置的說(shuō)明。即學(xué)即用,你還在等什么?一睹為快先了解Nginx的三大功能
Nginx 可以作為一臺(tái)http服務(wù)器。可以做網(wǎng)站靜態(tài)服務(wù)器,比如圖片服務(wù)器,高效,減輕服務(wù)器壓力。同時(shí)它也支持https服務(wù)。
Nginx 可以配置多臺(tái)虛擬主機(jī)??梢詫?shí)現(xiàn)在一臺(tái)服務(wù)器虛擬出多個(gè)網(wǎng)站效果,省錢。
Nginx 最重要的是反向代理,負(fù)載均衡。在服務(wù)器集群中,通過(guò)Nginx通過(guò)反向代理讓性能高的服務(wù)器分擔(dān)更多的負(fù)載,從而實(shí)現(xiàn)負(fù)載均衡的效果,利用率高。

效果圖:包含基于ip的虛擬主機(jī)測(cè)試,基于域名的虛擬主機(jī)測(cè)試,反向代理和負(fù)載均衡的測(cè)試

環(huán)境:CentOS 7 , nginx-1.13.6 ,
說(shuō)明:Nginx 反向代理和負(fù)載均衡的操作前提都是基于域名的虛擬主機(jī)。不同的tomcat模擬不同的服務(wù)器,和生產(chǎn)環(huán)境最大的區(qū)別就是ip和port
Nginx 安裝:http://www.cnblogs.com/itdrag...
Nginx http服務(wù)器:http://www.cnblogs.com/itdrag...

配置多臺(tái)虛擬主機(jī)

虛擬主機(jī)是一種特殊的軟硬件技術(shù),它可以將網(wǎng)絡(luò)上的每一臺(tái)計(jì)算機(jī)分成多個(gè)虛擬主機(jī),每個(gè)虛擬主機(jī)都可以獨(dú)立對(duì)外提供www服務(wù)。從而實(shí)現(xiàn)一臺(tái)主機(jī)能對(duì)外提供多個(gè)web服務(wù),而且每個(gè)虛擬主機(jī)之間是互不影響的。
Nginx提供了三種虛擬主機(jī)配置方式,1、基于ip的虛擬主機(jī),2、基于端口的虛擬主機(jī),3、基于域名的虛擬主機(jī)。最常用的是第三種,相對(duì)于 ip地址和端口號(hào),域名更方便記憶和使用。

基于ip的虛擬主機(jī)
[root@itdragon ~]# cd /etc/sysconfig/network-scripts/
[root@itdragon network-scripts]# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1
2: ens33:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.225.131/24 brd 192.168.225.255 scope global dynamic ens33
[root@itdragon network-scripts]# vim ifcfg-ens33    
# 添加
IPADDR1="192.168.225.132"
IPADDR2="192.168.225.133"
[root@itdragon network-scripts]# systemctl restart network
[root@itdragon network-scripts]# ip addr
2: ens33:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.225.131/24 brd 192.168.225.255 scope global dynamic ens33
    inet 192.168.225.132/24 brd 192.168.225.255 scope global secondary ens33
    inet 192.168.225.133/24 brd 192.168.225.255 scope global secondary ens33
[root@itdragon ~]# cd /usr/local/nginx
[root@itdragon nginx]# cp -r html/ html-131/
[root@itdragon nginx]# cp -r html/ html-132/
[root@itdragon nginx]# cp -r html/ html-133/
[root@itdragon nginx]# vim html-131/index.html
[root@itdragon nginx]# vim html-132/index.html
[root@itdragon nginx]# vim html-133/index.html
[root@itdragon nginx]# vim conf/nginx.conf
# 添加
server {
    listen       80;
    server_name  192.168.225.132;
    location / {
       root   html-132;
       index  index.html index.htm;
    }
}   
server {
    listen       80;
    server_name  192.168.225.133;
    location / {
       root   html-133;
       index  index.html index.htm;
    }
}
[root@itdragon nginx]# sbin/nginx -s reload

第一步:執(zhí)行命令ip addr 打印協(xié)議地址,得知網(wǎng)卡名是ens33,ip地址是192.168.225.131
第二步:進(jìn)入到/etc/sysconfig/network-scripts/ 修改ifcfg-ens33 文件添加兩個(gè)ip地址
第三步:重啟網(wǎng)絡(luò),并檢查配置是否生效,發(fā)現(xiàn)ens33對(duì)應(yīng)三個(gè)ip地址
第四步:進(jìn)入到/usr/local/nginx/ 目錄下,拷貝三份html目錄,并分別修改index.html 文件便于區(qū)分測(cè)試
第五步:修改Nginx配置文件,監(jiān)聽的端口不變,修改server_name為對(duì)應(yīng)ip地址,修改root為對(duì)應(yīng)的html目錄
第六步:重啟Nginx服務(wù),在瀏覽器上分別訪問(wèn)三個(gè)ip地址,觀察頁(yè)面變化
若你發(fā)現(xiàn)不同的ip地址打印不同頁(yè)面,和效果圖相似,則代表配置成功。

基于端口的虛擬主機(jī)和基于ip的虛擬主機(jī)配置幾乎一樣,只是在修改Nginx配置文件時(shí),只修改監(jiān)聽的端口和root對(duì)應(yīng)的目錄,其他的沒(méi)有變。這里就不貼命令了。

基于域名的虛擬主機(jī)

這是Nginx比較常用的配置,也是有利于人類使用的配置方式。這里通過(guò)修改window系統(tǒng)下的host文件來(lái)模擬DNS服務(wù)器。

# Windows
C:WindowsSystem32driversetchosts文件
# nginx 域名配置虛擬主機(jī)
192.168.225.131 www.itdragon.com
192.168.225.131 picture.itdragon.com
192.168.225.131 search.itdragon.com

# CentOS
[root@itdragon nginx]# cp -r html/ html-search
[root@itdragon nginx]# cp -r html/ html-picture
[root@itdragon nginx]# vim html-search/index.html 
[root@itdragon nginx]# vim html-picture/index.html
[root@itdragon nginx]# vim conf/nginx.conf
server {
    listen       80;
    server_name  search.itdragon.com;
    location / {
       root   html-search;
       index  index.html index.htm;
    }
}
server {
    listen       80;
    server_name  picture.itdragon.com;
    location / {
       root   html-picture;
       index  index.html index.htm;
    }
}
[root@itdragon nginx]# sbin/nginx -s reload

第一步:在window環(huán)境中,修改host文件,添加ip 域名映射關(guān)系,用來(lái)模擬DNS服務(wù)器
第二步:進(jìn)入到/usr/local/nginx/ 目錄下,拷貝兩份html目錄,分別修改index.html 文件便于區(qū)分測(cè)試
第三步:修改Nginx配置文件,監(jiān)聽的端口不變,修改server_name為對(duì)應(yīng)域名地址,修改root為對(duì)應(yīng)的html目錄
第四步:重啟Nginx服務(wù),在瀏覽器上分別訪問(wèn)兩個(gè)域名地址,觀察頁(yè)面變化
若你發(fā)現(xiàn)不同的域名地址打印不同頁(yè)面,和效果圖相似,則代表配置成功。

Nginx 反向代理

在了解Nginx 反向代理之前,我們先熟悉一下什么是代理服務(wù)器
代理服務(wù)器:是一個(gè)夾在客戶機(jī)和目標(biāo)主機(jī)中間的服務(wù)器。能提高客戶機(jī)訪問(wèn)響應(yīng)速度,還能設(shè)置防火墻過(guò)濾不安全信息。
響應(yīng)速度快:客戶機(jī)發(fā)送請(qǐng)求,代理服務(wù)器接收請(qǐng)求后,再轉(zhuǎn)發(fā)給目標(biāo)主機(jī)。目標(biāo)主機(jī)接收請(qǐng)求并將數(shù)據(jù)返回給代理服務(wù)器,代理服務(wù)器將數(shù)據(jù)返回給客戶機(jī)同時(shí)也會(huì)保存數(shù)據(jù)到本地。若客戶機(jī)下次有相同的請(qǐng)求,則直接從本地?cái)?shù)據(jù)返回。從而提高了響應(yīng)的速度。
設(shè)置防火墻:因?yàn)榇矸?wù)器夾在客戶機(jī)和目標(biāo)主機(jī)中間??蛻魴C(jī)所有的請(qǐng)求都會(huì)經(jīng)過(guò)代理服務(wù)器,所以如果在代理服務(wù)器上設(shè)置防火墻,則可以過(guò)濾一些不安全的信息,同時(shí)也方便管理。

清楚了代理服務(wù)器后,我們?cè)賮?lái)了解正向代理和反向代理的區(qū)別
正向代理:顧客:"服務(wù)員,我就要廚師A做的七彩紅燒肉"; 服務(wù)員:"好嘞,我這就安排廚師A給您做!"
反向代理:顧客:"服務(wù)員,我要一份七彩紅燒肉"; 服務(wù)員:"好嘞,我們的廚師B炒菜賊好吃!"
不知道大家看懂沒(méi)有。顧客就是客戶機(jī),服務(wù)員就是代理服務(wù)器,廚師們就是目標(biāo)主機(jī)。正向代理就相當(dāng)于客戶機(jī)明確指定目標(biāo)主機(jī)提供服務(wù)(目標(biāo)主機(jī)被動(dòng)接收請(qǐng)求)。反向代理就相當(dāng)于客戶機(jī)提供需求,代理服務(wù)器從一群目標(biāo)主機(jī)中找一臺(tái)去實(shí)現(xiàn)該需求(目標(biāo)主機(jī)主動(dòng)接收請(qǐng)求)。

現(xiàn)在開始配置Nginx的反向代理

[root@itdragon ~]# vim /usr/local/solr/tomcat1/webapps/ROOT/index.jsp 
[root@itdragon ~]# vim /usr/local/solr/tomcat2/webapps/ROOT/index.jsp
[root@itdragon ~]# cd /usr/local/nginx
[root@itdragon nginx]# vim conf/nginx.conf
upstream searchserver {
    server 192.168.225.133:8081;
}
upstream pictureserver {
    server 192.168.225.133:8082;
}
server {
    listen       80;
    server_name  search.itdragon.com;
    location / {
       proxy_pass   http://searchserver;
       index  index.html index.htm;
    }
}
server {
    listen       80;
    server_name  picture.itdragon.com;
    location / {
       proxy_pass   http://pictureserver;
       index  index.html index.htm;
    }
}
[root@itdragon nginx]# sbin/nginx -s reload

第一步:準(zhǔn)備兩個(gè)tomcat服務(wù)器,端口分別是8081和8082,并分別修改index.jsp 文件便于區(qū)分測(cè)試
第二步:進(jìn)入到/usr/local/nginx/ 目錄下,修改Nginx配置文件。upstream 定義每個(gè)設(shè)備的狀態(tài),server 配置服務(wù),server_name 指定域名,proxy_pass 代理轉(zhuǎn)發(fā)到那臺(tái)設(shè)備上
第三步:重啟服務(wù),在瀏覽器上輸入不同的域名,會(huì)跳到對(duì)應(yīng)的頁(yè)面
Nginx的反向代理其實(shí)是在做請(qǐng)求的轉(zhuǎn)發(fā),后臺(tái)有多個(gè)http服務(wù)器提供服務(wù),Nginx的功能就是把請(qǐng)求轉(zhuǎn)發(fā)給后面的服務(wù)器,并決定把請(qǐng)求轉(zhuǎn)發(fā)給哪臺(tái)服務(wù)器。

反向代理流程
瀏覽器訪問(wèn)search.itdragon.com,通過(guò)本地host文件域名解析,找到192.168.225.131 Nginx虛擬主機(jī),Nginx接收客戶機(jī)請(qǐng)求,找到server_name為search.itdragon.com的節(jié)點(diǎn),再根據(jù)proxy_pass對(duì)應(yīng)的http路徑,將請(qǐng)求轉(zhuǎn)發(fā)到upstream searchserver上,即端口號(hào)為8081的tomcat服務(wù)器。
客戶機(jī)訪問(wèn) ---> search.itdragon.com ---> host ---> Nginx ---> server_name ---> proxy_pass ---> upstream---> tomcat

Nginx 負(fù)載均衡

負(fù)載均衡 在高性能的主機(jī)上分配更多的負(fù)載,在性能低的主機(jī)分配少一些的負(fù)載,充分利用主機(jī)的性能,將其服務(wù)器的總壓力。Nginx的 upstream默認(rèn)是以輪詢的方式實(shí)現(xiàn)負(fù)載均衡,也可以分配權(quán)值。

[root@itdragon ~]# vim /usr/local/solr/tomcat3/webapps/ROOT/index.jsp 
[root@itdragon ~]# vim /usr/local/solr/tomcat4/webapps/ROOT/index.jsp
[root@itdragon ~]# cd /usr/local/nginx
[root@itdragon nginx]# vim conf/nginx.conf
upstream pictureserver {
    server 192.168.225.133:8082 weight=2;
    server 192.168.225.133:8083 weight=1;
    server 192.168.225.133:8084 weight=1;
}
[root@itdragon nginx]# sbin/nginx -s reload

第一步:新增兩個(gè)tomcat服務(wù)器,端口分別為8083和8084,并分別修改index.jsp 文件便于區(qū)分測(cè)試
第二步:進(jìn)入到/usr/local/nginx/ 目錄下,修改Nginx配置文件,在pictureserver 內(nèi)新增兩個(gè)server
第三步:重啟服務(wù)
負(fù)載均衡的配置是在反向代理的基礎(chǔ)上修改的,所以請(qǐng)先完成反向代理的配置。

常用配置說(shuō)明
events {                                        # 工作模式
    worker_connections  1024;                    # 最大連接數(shù)
}
http {                                            # 配置http服務(wù)器
    include       mime.types;                    # 定義mime的文件類型
    default_type  application/octet-stream;        # 默認(rèn)文件類型
    sendfile        on;                            # 開啟 sendfile 函數(shù)(zero copy 方式)輸出文件
    keepalive_timeout  65;                        # 連接超時(shí)時(shí)間,單位秒
    
    upstream pictureserver {                    # 定義負(fù)載均衡設(shè)備的ip和狀態(tài)
        server 192.168.225.133:8081 ;             # 默認(rèn)權(quán)重值為一
        server 192.168.225.133:8082 weight=2;     # 值越高,負(fù)載的權(quán)重越高
        server 192.168.225.133:8083 down;        # 當(dāng)前server 暫時(shí)不參與負(fù)載
        server 192.168.225.133:8084 backup;        # 當(dāng)其他非backup狀態(tài)的server 不能正常工作時(shí),才請(qǐng)求該server,簡(jiǎn)稱熱備
    }
    server {                                    # 設(shè)定虛擬主機(jī)配置
        listen  80;                                # 監(jiān)聽的端口
        server_name  picture.itdragon.com;        # 監(jiān)聽的地址,多個(gè)域名用空格隔開
        location / {                            # 默認(rèn)請(qǐng)求 ,后面 "/" 表示開啟反向代理,也可以是正則表達(dá)式
           root        html;                        # 監(jiān)聽地址的默認(rèn)網(wǎng)站根目錄位置
           proxy_pass   http://pictureserver;    # 代理轉(zhuǎn)發(fā)
           index  index.html index.htm;            # 歡迎頁(yè)面
           deny 127.0.0.1;                      # 拒絕的ip
           allow 192.168.225.133;                 # 允許的ip
        }
        error_page   500 502 503 504  /50x.html;# 定義錯(cuò)誤提示頁(yè)面     
        location = /50x.html {                    # 配置錯(cuò)誤提示頁(yè)面
            root   html;
        }
    }
    

具體配置詳情可以參考:http://blog.csdn.net/happydre...

總結(jié)

1 Nginx 通過(guò)修改nginx.conf server_name配置,達(dá)到配置多臺(tái)基于ip,基于域名的虛擬主機(jī)
2 Nginx 通過(guò)修改nginx.conf upstream 和 proxy_pass配置,達(dá)到反向代理效果
3 Nginx 通過(guò)修改nginx.conf upstream server 狀態(tài),達(dá)到負(fù)載均衡效果
4 代理服務(wù)器有提高客戶端獲取數(shù)據(jù)的速度,和方便管理設(shè)置防火墻的功能

到這里Nginx的多虛擬主機(jī),反向代理和負(fù)載均衡就結(jié)束了,感謝閱讀!歡迎點(diǎn)贊!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39717.html

相關(guān)文章

  • Nginx反向代理負(fù)載均衡

    摘要:負(fù)載均衡嚴(yán)格來(lái)說(shuō),僅僅是作為反向代理的使用的,但是因?yàn)檫@個(gè)反向代理功能表現(xiàn)的效果是負(fù)載均衡機(jī)器的效果,因此負(fù)載均衡是特殊的反向代理。 反向代理 反向代理指的是以代理服務(wù)器接收用戶的的訪問(wèn)請(qǐng)求,代理用戶向內(nèi)部服務(wù)器重新發(fā)起請(qǐng)求,最后把內(nèi)部服務(wù)器的響應(yīng)信息返回給用戶。這樣,代理服務(wù)器對(duì)外就表現(xiàn)為一臺(tái)服務(wù)器,而訪問(wèn)內(nèi)部服務(wù)器的客戶端用的就是代理服務(wù)器,而不是真實(shí)網(wǎng)站訪問(wèn)用戶。 為什么使用反向...

    fai1017 評(píng)論0 收藏0
  • PHP-FPM,Nginx,FastCGI 之間的關(guān)系

    摘要:本文介紹三者之間的關(guān)系,以及反向代理和負(fù)載均衡的配置。先使用負(fù)載均衡模塊找到一臺(tái)主機(jī),再使用模塊實(shí)現(xiàn)與這臺(tái)主機(jī)的交互。負(fù)載均衡配置該例定義了一個(gè)的負(fù)載均衡配置,通過(guò)反向代理指令應(yīng)用這個(gè)配置。 本文介紹 PHP-FPM,Nginx,FastCGI 三者之間的關(guān)系,以及 Nginx 反向代理和負(fù)載均衡的配置。 PHP-FPM,Nginx,FastCGI 之間的關(guān)系 FastCGI 是一個(gè)協(xié)...

    sumory 評(píng)論0 收藏0
  • [新手]nginx反向代理負(fù)載均衡配置

    摘要:今天無(wú)聊,把上幾天自己測(cè)試的作反向代理負(fù)載均衡的步驟記錄下來(lái),以供學(xué)習(xí)記錄。反向代理,我個(gè)人理解是通過(guò)一臺(tái)反向代理服務(wù)器,把客戶端的把有請(qǐng)求按照一定的規(guī)則分發(fā)給后臺(tái)的服務(wù)器。 今天無(wú)聊,把上幾天自己測(cè)試的nginx作反向代理負(fù)載均衡的步驟記錄下來(lái),以供學(xué)習(xí)記錄。反向代理,我個(gè)人理解是通過(guò)一臺(tái)反向代理服務(wù)器,把客戶端的把有請(qǐng)求按照一定的規(guī)則分發(fā)給后臺(tái)的服務(wù)器。nginx作反向代理服務(wù)器的...

    kbyyd24 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<