中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Centos7上如何配置nginx的負載均衡

發布時間:2022-01-19 17:41:24 來源:億速云 閱讀:260 作者:柒染 欄目:web開發

Centos7上如何配置nginx的負載均衡,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Centos7上配置nginx的負載均衡

前言

在配置nginx負載均衡前.我們需要明白幾個名詞的概念

注: 如果不小心忘了tomcat和nginx的啟動,關閉命令,可參考寫在文章最后的命令

一 重要的概念理解

1 什么是nginx呢?

Nginx是一個web服務器和反向代理服務器,用于HTTP、HTTPS、SMTP、POP3和IMAP協議.

2 什么是反向代理呢?

反向代理隱藏了真實的服務端,當我們請求 www.baidu.com 的時候,就像撥打10086一樣,背后可能有成千上萬臺服務器為我們服務,但具體是哪一臺,你不知道,也不需要知道,你只需要知道反向代理服務器是誰就好了,www.baidu.com 就是我們的反向代理服務器,反向代理服務器會幫我們把請求轉發到真實的服務器那里去。Nginx就是性能非常好的反向代理服務器,用來做負載均衡。

3 什么是負載均衡呢?

負載均衡(Load Balancing)是一種將任務分派到多個服務端進程的方法。例如,將一個HTTP請求派發到實際的Web服務器中執行的過程就涉及負載均衡的實現。一個HTTP請求到達Web服務器,這中間涉及多個過程,也存在多種不同負載均衡的方法。

4 負載均衡有什么作用呢?

  1. 轉發功能
    按照一定的算法【權重、輪詢】,將客戶端請求轉發到不同應用服務器上,減輕單個服務器壓力,提高系統并發量。

  2. 故障移除
    通過心跳檢測的方式,判斷應用服務器當前是否可以正常工作,如果服務器期宕掉,自動將請求發送到其他應用服務器。

  3. 恢復添加
    如檢測到發生故障的應用服務器恢復工作,自動將其添加到處理用戶請求隊伍中。

5 負載均衡的分發策略是什么呢?

Nginx 的 upstream目前支持的分配算法:
1)、輪詢 ——1:1 輪流處理請求(默認)

每個請求按時間順序逐一分配到不同的應用服務器,如果應用服務器down掉,自動剔除,剩下的繼續輪詢。

2)、權重 ——you can you up

通過配置權重,指定輪詢幾率,權重和訪問比率成正比,用于應用服務器性能不均的情況。

3)、ip_哈希算法

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個應用服務器,可以解決session共享的問題。

二 配置負載均衡

此次模擬就不在多個機器上配了,我們把三個tomcat都裝到一臺機器上的不同目錄下,分別給他們不同的端口,修改下
他們的首頁,模擬一下負載均衡

First: 準備工作

一個nginx服務器,三個tomcat服務器

nginx的安裝我前面有寫過,同志們可參考這篇文章
tomcat就更簡單了,直接上傳解壓,就可以在瀏覽器訪問ip使用了,打不開,關閉下防火墻試試

我的安裝目錄
nginx /opt/nginx/nginx-1.8.0
tomcat /opt/tomcat/apache-tomcat-7.0.57
test1號tomcat /opt/tomcattest1/apache-tomcat-7.0.57
test2號tomcat /opt/tomcattest2/apache-tomcat-7.0.57

我們用tomcat來給test1號和test2號做負載均衡
Centos7上如何配置nginx的負載均衡

Second: 修改1號,2號tomcat的配置文件和首頁

一 1號tomcat

注意: 修改tomcat的配置文件前,如果啟動了tomcat,就關了再修改

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

改三個地方,把三個沒加注釋的端口全部加1

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

Centos7上如何配置nginx的負載均衡
Centos7上如何配置nginx的負載均衡

2 再修改一下首頁,主要為了做區分
cd /opt/tomcattest1/apache-tomcat-7.0.57/webapps/ROOT
vi index.jsp
在<body>標簽下加個h2標簽作區分
位置: 
 <body>
        <h2>111111111111111111111111111111</h2>
3 啟動tomcat

在瀏覽器訪問

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

二 2號tomcat

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

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

瀏覽器訪問

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

Third: 配置負載均衡

注意: 修改nginx的配置文件前,如果啟動了nginx,就關了再修改

修改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;
        }


    }

解釋一下
一個upstream 對應一個server
當我們在瀏覽器輸入 love.com (自己隨便寫個喜歡的域名),會先找到location里的 proxy_pass 后面的 http://tomcatserver1,
再找到tomcatserver1對應的相同名字的upstream ,然后進去找代理的ip

此時還需要在本地hosts里加上我們的ip就可以在瀏覽器訪問了
在windows系統下,進入

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

192.168.220.111 love.com

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

然后啟動nginx

在瀏覽器輸入 http://192.168.220.111
不停的刷新頁面,會發現1號tomcat 和2 號tomcat近乎于交替出現,也就是最開始我們提到的負載均衡的三種分發策略中的輪詢,
近乎1:1出現

擴展:

然而在現實開發中,假設我們的多臺服務器的性能好壞不一樣,我們希望性能較好的1 號服務器多代理點url,就可以進行
權重或hash配置

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

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

啟動Tomcat:
進入tomcat目錄/bin,然后./startup.sh

停止Tomcat:
進入tomcat目錄/bin,然后./shutdown.sh

Nginx 常用命令

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

啟動nginx
cd usr/local/nginx/sbin/
./nginx


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

2 直接重啟
./nginx -s reload


檢查是否已經安裝有nginx及對應目錄
find /|grep nginx.conf

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

需要殺掉的話
kill -9 xx

關于Centos7上如何配置nginx的負載均衡問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

SHOW| 卢龙县| 灌南县| 毕节市| 阿克苏市| 会泽县| 寿光市| 岚皋县| 永平县| 巴林左旗| 武威市| 安顺市| 东丰县| 五华县| 新竹市| 平遥县| 平和县| 景德镇市| 都江堰市| 阜康市| 大化| 陕西省| 社会| 开阳县| 巩义市| 三门县| 木兰县| 嵊泗县| 阿合奇县| 克拉玛依市| 尚义县| 科技| 垫江县| 绥中县| 黎平县| 宝清县| 南溪县| 偏关县| 马龙县| 临夏县| 武川县|