天天看點

負載均衡的配置

負載均衡的工作原理?

負載均衡的配置

在這裡準備兩個虛拟機,然後将tomcat安裝在上面

關閉兩個虛拟機的防火牆:

負載均衡的配置

解壓tomcat :

然後将壓縮包nginx上傳到linux系統中,然後解壓.進入到這個檔案中,

因為nginx是使用C語言寫的,是以需要進行編譯

将nginx-1.8.0.tar.gz拷貝至linux伺服器。

解壓:

tar -zxvf nginx-1.8.0.tar.gz –C /usr/local/src

cd /usr/local/nginx-1.8.0

1、  Configure

注意:進入nginx的解壓目錄下執行該腳本。

./configure --help查詢詳細參數(參考本教程附錄部分:nginx編譯參數)

參數設定如下:

注意:上邊将臨時檔案目錄指定為/var/temp/nginx,需要在/var下建立temp及nginx目錄

mkdir -p /var/temp/nginx

1、  編譯安裝

make

make  install

安裝成功檢視安裝目錄 :

負載均衡的配置

cd /usr/local/nginx/sbin/

./nginx

查詢nginx程序:

負載均衡的配置

15098是nginx主程序的程序id,15099是nginx工作程序的程序id

注意:執行./nginx啟動nginx,這裡可以-c指定加載的nginx配置檔案,如下:

./nginx -c /usr/local/nginx/conf/nginx.conf

如果不指定-c,nginx在啟動時預設加載/usr/local/nginx/conf/nginx.conf檔案,此檔案的位址也可以在編譯安裝nginx時指定./configure的參數(--conf-path= 指向配置檔案(nginx.conf))

方式1,快速停止:

cd /usr/local/nginx/sbin

./nginx -s stop

此方式相當于先查出nginx程序id再使用kill指令強制殺掉程序。

方式2,完整停止(建議使用):

./nginx -s quit

此方式停止步驟是待nginx程序處理任務完畢進行停止。

方式1,先停止再啟動(建議使用):

對nginx進行重新開機相當于先停止nginx再啟動nginx,即先執行停止指令再執行啟動指令。

如下:

方式2,重新加載配置檔案:

當nginx的配置檔案nginx.conf修改後,要想讓配置生效需要重新開機nginx,使用-s reload不用先停止nginx再啟動nginx即可将配置資訊在nginx中生效,如下:

./nginx -s reload

nginx安裝成功,啟動nginx,即可通路虛拟機上的nginx:

負載均衡的配置

早期圖檔通路用的Nginx

負載均衡的配置

Conf/nginx.conf

負載均衡的配置

進入nginx/conf目錄下,修改nginx.conf配置檔案。

upstream tomcat_server{

        server 192.168.200.128:8080;

}

proxy_pass http://tomcat_server;

負載均衡的配置

   server 192.168.200.130:8080 weight=10;

   server 192.168.200.148:8080 weight=20;

搭建nginx備機時候需要使用Keepalived高可用解決方案

什麼是Keepalived?

Keepalived是叢集管理中保證叢集高可用的一個服務軟體,用來防止單點故障.

Keepalived的作用是檢測web伺服器的狀态,如果有一台web伺服器當機,或工作出現故障,keepalived将檢測到,并将故障的web伺服器從系統中剔除,當web伺服器工作正常後keepalived自動将web伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工幹涉,需要人工做的隻修複故障的web伺服器.

使用crt工具直接進行上傳

rpm -ivh keepalived-1.2.13-5.el6_6.i686.rpm

負載均衡的配置

rpm -ql keepalived

負載均衡的配置

編輯 keepalived.conf配置檔案。

1、  清空配置檔案

2、  添加配置資訊

! Configuration File for keepalived

#全局配置

global_defs {

   notification_email {  #指定keepalived在發生切換時需要發送email到的對象,一行一個

     [email protected]

   }

   notification_email_from [email protected]  #指定發件人

   #smtp_server XXX.smtp.com                             #指定smtp伺服器位址

   #smtp_connect_timeout 30                               #指定smtp連接配接逾時時間

   router_id LVS_DEVEL                                    #運作keepalived機器的一個辨別

vrrp_instance VI_1 {

    state MASTER           #标示狀态為MASTER 備份機為BACKUP

    interface eth0         #設定執行個體綁定的網卡

    virtual_router_id 51   #同一執行個體下virtual_router_id必須相同

    priority 100           #MASTER權重要高于BACKUP 比如BACKUP為99  

    advert_int 1           #MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,機關是秒

    authentication {       #設定認證

        auth_type PASS     #主從伺服器驗證方式

        auth_pass 8888

    }

    virtual_ipaddress {    #設定vip

          192.168.200.100       #可以多個虛拟IP,換行即可

    192.168.200.101

負載均衡的配置

1、  啟動keepalived

負載均衡的配置

2、  停止keepalived

負載均衡的配置
負載均衡的配置
負載均衡的配置

上傳rpm壓縮包,解壓,安裝

   #smtp_server XXX.smtp.com                             #指定smtp伺服器位址

    state BACKUP           #标示狀态為MASTER 備份機為BACKUP

    priority 88           #MASTER權重要高于BACKUP 比如BACKUP為99 

        192.168.200.100       #可以多個虛拟IP,換行即可

        192.168.200.101

負載均衡的配置
負載均衡的配置

主機的keepalived正常運作時,備機的keepalived不工作,隻有主機的keepalived當機後,備機才接管服務。

負載均衡的配置

當主機、備機的keepalived都正常時,而主機的nginx挂掉,那麼此時我們就不能正常通路了。因為這時請求還是經過主機的keepalived,而keepalived不知道主機當機,是以,此時應該讓主機的keepalived挂掉,進而備機接管服務。

在主機上建立:

touch check_nginx.sh

負載均衡的配置

#!/bin/bash

# 如果程序中沒有nginx則将keepalived程序kill掉

A=`ps -C nginx --no-header |wc -l`      ## 檢視是否有 nginx程序 把值賦給變量A

if [ $A -eq 0 ];then                    ## 如果沒有程序值得為 零

       service keepalived stop          ## 則結束 keepalived 程序

fi

負載均衡的配置

chmod 777 check_nginx.sh

負載均衡的配置

   notification_email_from [email protected]  #指定發件人

   #smtp_server XXX.smtp.com                             #指定smtp伺服器位址

vrrp_script check_nginx {

    script "/etc/keepalived/check_nginx.sh"         ##監控腳本

    interval 2                                      ##時間間隔,2秒

    weight 2                                        ##權重

    state MASTER           #标示狀态為MASTER 備份機為BACKUP

    priority 100           #MASTER權重要高于BACKUP 比如BACKUP為99

   track_script {

        check_nginx        #監控腳本

        192.168.101.100       #可以多個虛拟IP,換行即可

在主機的nginx當機後,主機的keepalived自動結束程序。進而備機接官服務。

負載均衡的配置
負載均衡的配置

繼續閱讀