Centos7上如何配置nginx的負(fù)載均衡

Centos7上如何配置nginx的負(fù)載均衡,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

成都創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供奉新企業(yè)網(wǎng)站建設(shè),專(zhuān)注與做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為奉新眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

Centos7上配置nginx的負(fù)載均衡

前言

在配置nginx負(fù)載均衡前.我們需要明白幾個(gè)名詞的概念

注: 如果不小心忘了tomcat和nginx的啟動(dòng),關(guān)閉命令,可參考寫(xiě)在文章最后的命令

一 重要的概念理解

1 什么是nginx呢?

Nginx是一個(gè)web服務(wù)器和反向代理服務(wù)器,用于HTTP、HTTPS、SMTP、POP3和IMAP協(xié)議.

2 什么是反向代理呢?

反向代理隱藏了真實(shí)的服務(wù)端,當(dāng)我們請(qǐng)求 www.baidu.com 的時(shí)候,就像撥打10086一樣,背后可能有成千上萬(wàn)臺(tái)服務(wù)器為我們服務(wù),但具體是哪一臺(tái),你不知道,也不需要知道,你只需要知道反向代理服務(wù)器是誰(shuí)就好了,www.baidu.com 就是我們的反向代理服務(wù)器,反向代理服務(wù)器會(huì)幫我們把請(qǐng)求轉(zhuǎn)發(fā)到真實(shí)的服務(wù)器那里去。Nginx就是性能非常好的反向代理服務(wù)器,用來(lái)做負(fù)載均衡。

3 什么是負(fù)載均衡呢?

負(fù)載均衡(Load Balancing)是一種將任務(wù)分派到多個(gè)服務(wù)端進(jìn)程的方法。例如,將一個(gè)HTTP請(qǐng)求派發(fā)到實(shí)際的Web服務(wù)器中執(zhí)行的過(guò)程就涉及負(fù)載均衡的實(shí)現(xiàn)。一個(gè)HTTP請(qǐng)求到達(dá)Web服務(wù)器,這中間涉及多個(gè)過(guò)程,也存在多種不同負(fù)載均衡的方法。

4 負(fù)載均衡有什么作用呢?

  1. 轉(zhuǎn)發(fā)功能
    按照一定的算法【權(quán)重、輪詢(xún)】,將客戶(hù)端請(qǐng)求轉(zhuǎn)發(fā)到不同應(yīng)用服務(wù)器上,減輕單個(gè)服務(wù)器壓力,提高系統(tǒng)并發(fā)量。

  2. 故障移除
    通過(guò)心跳檢測(cè)的方式,判斷應(yīng)用服務(wù)器當(dāng)前是否可以正常工作,如果服務(wù)器期宕掉,自動(dòng)將請(qǐng)求發(fā)送到其他應(yīng)用服務(wù)器。

  3. 恢復(fù)添加
    如檢測(cè)到發(fā)生故障的應(yīng)用服務(wù)器恢復(fù)工作,自動(dòng)將其添加到處理用戶(hù)請(qǐng)求隊(duì)伍中。

5 負(fù)載均衡的分發(fā)策略是什么呢?

Nginx 的 upstream目前支持的分配算法:
1)、輪詢(xún) ——1:1 輪流處理請(qǐng)求(默認(rèn))

每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的應(yīng)用服務(wù)器,如果應(yīng)用服務(wù)器down掉,自動(dòng)剔除,剩下的繼續(xù)輪詢(xún)。

2)、權(quán)重 ——you can you up

通過(guò)配置權(quán)重,指定輪詢(xún)幾率,權(quán)重和訪問(wèn)比率成正比,用于應(yīng)用服務(wù)器性能不均的情況。

3)、ip_哈希算法

每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)應(yīng)用服務(wù)器,可以解決session共享的問(wèn)題。

二 配置負(fù)載均衡

此次模擬就不在多個(gè)機(jī)器上配了,我們把三個(gè)tomcat都裝到一臺(tái)機(jī)器上的不同目錄下,分別給他們不同的端口,修改下
他們的首頁(yè),模擬一下負(fù)載均衡

First: 準(zhǔn)備工作

一個(gè)nginx服務(wù)器,三個(gè)tomcat服務(wù)器

nginx的安裝我前面有寫(xiě)過(guò),同志們可參考這篇文章
tomcat就更簡(jiǎn)單了,直接上傳解壓,就可以在瀏覽器訪問(wèn)ip使用了,打不開(kāi),關(guān)閉下防火墻試試

我的安裝目錄
nginx /opt/nginx/nginx-1.8.0
tomcat /opt/tomcat/apache-tomcat-7.0.57
test1號(hào)tomcat /opt/tomcattest1/apache-tomcat-7.0.57
test2號(hào)tomcat /opt/tomcattest2/apache-tomcat-7.0.57

我們用tomcat來(lái)給test1號(hào)和test2號(hào)做負(fù)載均衡
Centos7上如何配置nginx的負(fù)載均衡

Second: 修改1號(hào),2號(hào)tomcat的配置文件和首頁(yè)

一 1號(hào)tomcat

注意: 修改tomcat的配置文件前,如果啟動(dòng)了tomcat,就關(guān)了再修改

1 先修改端口
vi /opt/tomcattest1/apache-tomcat-7.0.57/conf/server.xml

改三個(gè)地方,把三個(gè)沒(méi)加注釋的端口全部加1

注意: 要改沒(méi)加注釋的,加了注釋的改了也沒(méi)用
8005->8006
8080->8081
8009->8010
Centos7上如何配置nginx的負(fù)載均衡

Centos7上如何配置nginx的負(fù)載均衡
Centos7上如何配置nginx的負(fù)載均衡

2 再修改一下首頁(yè),主要為了做區(qū)分
cd /opt/tomcattest1/apache-tomcat-7.0.57/webapps/ROOT
vi index.jsp
在<body>標(biāo)簽下加個(gè)h2標(biāo)簽作區(qū)分
位置: 
 <body>
        <h2>111111111111111111111111111111</h2>
3 啟動(dòng)tomcat

在瀏覽器訪問(wèn)

http://192.168.220.111/8081       用你自己的ip

二 2號(hào)tomcat

跟上面一樣,把要修改的三個(gè)端口都加2 就行了

注意: 要改沒(méi)加注釋的,加了注釋的改了也沒(méi)用
8005->8007
8080->8082
8009->8011

瀏覽器訪問(wèn)

http://192.168.220.111/8082       用你自己的ip

Third: 配置負(fù)載均衡

注意: 修改nginx的配置文件前,如果啟動(dòng)了nginx,就關(guān)了再修改

修改nginx配置文件

vi /usr/local/nginx/conf/nginx.conf

shift+g 跳到最下邊,在最后的 } 前加入

upstream tomcatserver1 {
        server 192.168.220.111:8081 ;
         server 192.168.220.111:8082 ;
    }
  server {
        listen       80;
        server_name  love.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://tomcatserver1;
            index  index.html index.htm;
        }


    }

解釋一下
一個(gè)upstream 對(duì)應(yīng)一個(gè)server
當(dāng)我們?cè)跒g覽器輸入 love.com (自己隨便寫(xiě)個(gè)喜歡的域名),會(huì)先找到location里的 proxy_pass 后面的 http://tomcatserver1,
再找到tomcatserver1對(duì)應(yīng)的相同名字的upstream ,然后進(jìn)去找代理的ip

此時(shí)還需要在本地hosts里加上我們的ip就可以在瀏覽器訪問(wèn)了
在windows系統(tǒng)下,進(jìn)入

C:\Windows\System32\drivers\etc 目錄下,打開(kāi)hosts文件,在最下邊加上

192.168.220.111 love.com

你自己的ip   和你自己配置的域名

然后啟動(dòng)nginx

在瀏覽器輸入 http://192.168.220.111
不停的刷新頁(yè)面,會(huì)發(fā)現(xiàn)1號(hào)tomcat 和2 號(hào)tomcat近乎于交替出現(xiàn),也就是最開(kāi)始我們提到的負(fù)載均衡的三種分發(fā)策略中的輪詢(xún),
近乎1:1出現(xiàn)

擴(kuò)展:

然而在現(xiàn)實(shí)開(kāi)發(fā)中,假設(shè)我們的多臺(tái)服務(wù)器的性能好壞不一樣,我們希望性能較好的1 號(hào)服務(wù)器多代理點(diǎn)url,就可以進(jìn)行
權(quán)重或hash配置

----------------------------

這里附上幾條可能會(huì)用到的命令
Tomcat常用命令

啟動(dòng)Tomcat:
進(jìn)入tomcat目錄/bin,然后./startup.sh

停止Tomcat:
進(jìn)入tomcat目錄/bin,然后./shutdown.sh

Nginx 常用命令

注意nginx的配置端口的配置文件在  /usr/local/nginx/conf
并不是在解壓目錄下

啟動(dòng)nginx
cd usr/local/nginx/sbin/
./nginx


重啟nginx
有兩種方法
1 先關(guān)閉再重啟
./nginx -s quit   或者 ./nginx -s stop
./nginx

2 直接重啟
./nginx -s reload


檢查是否已經(jīng)安裝有nginx及對(duì)應(yīng)目錄
find /|grep nginx.conf

查看nginx占用的的端口
ps -ef| grep nginx

需要?dú)⒌舻脑?
kill -9 xx

關(guān)于Centos7上如何配置nginx的負(fù)載均衡問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

當(dāng)前名稱(chēng):Centos7上如何配置nginx的負(fù)載均衡
文章出自:http://muchs.cn/article24/pisije.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、云服務(wù)器、全網(wǎng)營(yíng)銷(xiāo)推廣、商城網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)