欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

【原創】學習日記5:nginx負載均衡(三)2012.0

系統 2514 0

接上文 ? 學習日記4:nginx負載均衡(二)2012.01.08

......

到此,整體工作還差一個備用nginx proxy,其中涉及到keepalived,做心跳。

?

【原創】學習日記5:nginx負載均衡(三)2012.01.10 nginx+keepalievd,實現負載均衡和故障點切換。keepalived雙機熱備。

黃線以上做完了。

?

?

本次主要做的是1加一臺從nginx_proxy ,暫且命令為front2(為從)。之前的nginx_proxy命令為front(為主)

?

1 在主nginx上配置keepalived。

      cd /usr/local/src/


      
        wget
      
       http:
      
        //
      
      
        keepalived.org/software/keepalived-1.2.7.tar.gz
      
      
        tar
      
       -xzvf keepalived-
      
        1.2
      
      .
      
        7
      
      .
      
        tar
      
      
        .gz

cd keepalived
      
      -
      
        1.2
      
      .
      
        7
      
      /
      
        

.
      
      /configure --prefix=/usr/local/keepalived
    

這時候會報錯的!

      
        configure: error: 

  
      
      !!! OpenSSL is not properly installed on your system. !!!

  !!! Can not include OpenSSL headers files.            !!!
    

缺少gcc,安裝下面擴展

      
        yum
      
      
        install
      
      
        gcc
      
      
        gcc
      
      -c++ autoconf automake
    

繼續編譯,下面還會報錯,類似這樣的錯誤。

?

      
        make
      
      : *** No targets specified and no makefile found.  Stop.
    
      configure: error: ! OpenSSL is not properly installed on your system. configure: error: !
    

?

?對此,我們安裝以下擴展即可解決。

      
        yum
      
       -y 
      
        install
      
       openssl-devel
    
      
        yum
      
       -y 
      
        install
      
       popt-devel
    

?

在編譯

      ./configure --prefix=/usr/local/keepalived
    

?

這時候,會出現下面的結果,這個結果就表明是ok的。到此你的keepalived安裝是成功的!

      
        Keepalived configuration


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

Keepalived version       : 
      
      
        1.2
      
      .
      
        7
      
      
        

Compiler                 : 
      
      
        gcc
      
      
        

Compiler flags           : 
      
      -g -
      
        O2

Extra Lib                : 
      
      -lpopt -lssl -
      
        lcrypto 

Use IPVS Framework       : Yes

IPVS 
      
      
        sync
      
      
         daemon support : Yes

IPVS use libnl           : No

Use VRRP Framework       : Yes

Use VRRP VMAC            : Yes

SNMP support             : No

Use Debug flags          : No
      
    

?

繼續下面的操作

?

      
        make
      
      
        make
      
      
        install
      
      
        cp
      
       /usr/local/keepalived/sbin/keepalived /usr/sbin/


      
        cp
      
       /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/


      
        cp
      
       /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/


      
        mkdir
      
       /etc/
      
        keepalived

cd 
      
      /etc/
      
        keepalived

vim keepalived.conf
      
    

?

keepalived.conf配置文件比較重要

front1 :主nginx的配置文件如下:

      ! Configuration File 
      
        for
      
      
         keepalived

global_defs {

   router_id LVS_01

}

vrrp_instance VI_1 {

    state MASTER  #master 主nginx

    interface eth1

    virtual_router_id 
      
      
        51
      
      
        

    mcast_src_ip 
      
      
        192.168
      
      .
      
        65.133 #本機ip地址也即主nginx地址
      
      
        

    priority 
      
      
        100
      
      
        

    advert_int 
      
      
        1
      
      
        

    authentication {

        auth_type PASS

        auth_pass 
      
      
        1111
      
      
        

    }

    virtual_ipaddress {

        
      
      
        192.168
      
      .
      
        65.128
      
      
         #vip 虛擬出來的ip地址 要求在內網中未被使用

    }

}
      
    

?

到此,主nginx配置完成。同樣的操作,在從nginx上也配置一遍。

不過從nginx的配置文件如下:

      [root@localhost nginx]# vim /etc/keepalived/
      
        keepalived.conf 




      
      ! Configuration File 
      
        for
      
      
         keepalived

global_defs {

   router_id LVS_01

}

vrrp_instance VI_1 {

    state BACKUP #slave 

    interface eth2

    virtual_router_id 
      
      
        51
      
      
        

    mcast_src_ip 
      
      
        192.168
      
      .
      
        65.137 #slave ip
      
      
        

    priority 
      
      
        80
      
      
        

    advert_int 
      
      
        1
      
      
        

    authentication {

        auth_type PASS

        auth_pass 
      
      
        1111
      
      
        

    }

    virtual_ipaddress {

        
      
      
        192.168
      
      .
      
        65.128
      
      
         #vip

    }

}
      
    

?

重啟兩邊的keepalived服務:

      
        [root@localhost conf.d]# service keepalived restart

Stopping keepalived:                                       [FAILED]

Starting keepalived:                                       [  OK  ]
      
    

主nginx上,用

      
        [root@localhost conf.d]# ip a


      
      
        1
      
      : lo: <LOOPBACK,UP,LOWER_UP> mtu 
      
        16436
      
      
         qdisc noqueue state UNKNOWN 

    link
      
      /loopback 
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
       brd 
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      
        

    inet 
      
      
        127.0
      
      .
      
        0.1
      
      /
      
        8
      
      
         scope host lo

    inet6 ::
      
      
        1
      
      /
      
        128
      
      
         scope host 

       valid_lft forever preferred_lft forever


      
      
        2
      
      : eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 
      
        1500
      
       qdisc pfifo_fast state UP qlen 
      
        1000
      
      
        

    link
      
      /ether 
      
        00
      
      :0c:
      
        29
      
      :
      
        20
      
      :e9:
      
        20
      
      
         brd ff:ff:ff:ff:ff:ff

    inet 
      
      
        192.168
      
      .
      
        65.133
      
      /
      
        24
      
       brd 
      
        192.168
      
      .
      
        65.255
      
      
         scope global eth1

    inet 
      
      
        192.168
      
      .
      
        65.128
      
      /
      
        32
      
      
         scope global eth1

    inet6 fe80::20c:29ff:fe20:e920
      
      /
      
        64
      
      
         scope link 

       valid_lft forever preferred_lft forever
      
    

?到此,我們的vip算是真正的綁定上了。

查看keepalived的日志:

      root@localhost conf.d]# 
      
        tail
      
       -f /var/log/
      
        messages 

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        06
      
       localhost Keepalived_healthcheckers[
      
        3355
      
      
        ]: Using LinkWatch kernel netlink reflector...

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        06
      
       localhost Keepalived_vrrp[
      
        3356
      
      ]: Configuration is using : 
      
        34824
      
      
         Bytes

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        06
      
       localhost Keepalived_vrrp[
      
        3356
      
      
        ]: Using LinkWatch kernel netlink reflector...

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        06
      
       localhost Keepalived_vrrp[
      
        3356
      
      ]: VRRP sockpool: [ifindex(
      
        2
      
      ), proto(
      
        112
      
      ), fd(
      
        11
      
      ,
      
        12
      
      
        )]

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        06
      
       localhost Keepalived_vrrp[
      
        3356
      
      
        ]: VRRP_Instance(VI_1) Transition to MASTER STATE

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        07
      
       localhost Keepalived_vrrp[
      
        3356
      
      
        ]: VRRP_Instance(VI_1) Entering MASTER STATE

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        07
      
       localhost Keepalived_vrrp[
      
        3356
      
      
        ]: VRRP_Instance(VI_1) setting protocol VIPs.

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        07
      
       localhost avahi-daemon[
      
        1765
      
      ]: Registering new address record 
      
        for
      
      
        192.168
      
      .
      
        65.128
      
      
         on eth1.IPv4.

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        07
      
       localhost Keepalived_healthcheckers[
      
        3355
      
      ]: Netlink reflector reports IP 
      
        192.168
      
      .
      
        65.128
      
      
         added

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        07
      
       localhost Keepalived_vrrp[
      
        3356
      
      ]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 
      
        for
      
      
        192.168
      
      .
      
        65.128
      
      
        

Jan  
      
      
        9
      
      
        18
      
      :
      
        53
      
      :
      
        12
      
       localhost Keepalived_vrrp[
      
        3356
      
      ]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 
      
        for
      
      
        192.168
      
      .
      
        65.128
      
    

從nginx上,同樣

      
        [root@localhost nginx]# ip a


      
      
        1
      
      : lo: <LOOPBACK,UP,LOWER_UP> mtu 
      
        16436
      
      
         qdisc noqueue state UNKNOWN 

    link
      
      /loopback 
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
       brd 
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      
        

    inet 
      
      
        127.0
      
      .
      
        0.1
      
      /
      
        8
      
      
         scope host lo

    inet6 ::
      
      
        1
      
      /
      
        128
      
      
         scope host 

       valid_lft forever preferred_lft forever


      
      
        2
      
      : eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 
      
        1500
      
       qdisc pfifo_fast state UP qlen 
      
        1000
      
      
        

    link
      
      /ether 
      
        00
      
      :0c:
      
        29
      
      :a7:
      
        81
      
      
        :c7 brd ff:ff:ff:ff:ff:ff

    inet 
      
      
        192.168
      
      .
      
        65.137
      
      /
      
        24
      
       brd 
      
        192.168
      
      .
      
        65.255
      
      
         scope global eth2

    inet6 fe80::20c:29ff:fea7:81c7
      
      /
      
        64
      
      
         scope link 

       valid_lft forever preferred_lft forever
      
    

我們發現并沒有綁定vip 128

同時;

      [root@localhost nginx]# 
      
        tail
      
       -f /var/log/
      
        messages 

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      
        ]: Registering Kernel netlink reflector

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      
        ]: Registering Kernel netlink command channel

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: Opening 
      
        file
      
      
        '
      
      
        /etc/keepalived/keepalived.conf
      
      
        '
      
      
        .

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      ]: Opening 
      
        file
      
      
        '
      
      
        /etc/keepalived/keepalived.conf
      
      
        '
      
      
        .

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: Configuration is using : 
      
        34822
      
      
         Bytes

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      ]: Configuration is using : 
      
        4821
      
      
         Bytes

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: Using LinkWatch kernel netlink reflector...

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: VRRP_Instance(VI_1) Entering BACKUP STATE

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: VRRP sockpool: [ifindex(
      
        2
      
      ), proto(
      
        112
      
      ), fd(
      
        11
      
      ,
      
        12
      
      
        )]

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      ]: Using LinkWatch kernel netlink reflector...
    

?

貌似從nginx似乎出了什么問題,先不著急。

這時候我們停止掉主nginx的服務,再看看效果怎么樣!

      
        killall
      
       nginx
    

再觀察從nginx的狀態變化

      [root@localhost nginx]# 
      
        tail
      
       -f /var/log/
      
        messages 

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      
        ]: Registering Kernel netlink reflector

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      
        ]: Registering Kernel netlink command channel

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: Opening 
      
        file
      
      
        '
      
      
        /etc/keepalived/keepalived.conf
      
      
        '
      
      
        .

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      ]: Opening 
      
        file
      
      
        '
      
      
        /etc/keepalived/keepalived.conf
      
      
        '
      
      
        .

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: Configuration is using : 
      
        34822
      
      
         Bytes

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      ]: Configuration is using : 
      
        4821
      
      
         Bytes

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: Using LinkWatch kernel netlink reflector...

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: VRRP_Instance(VI_1) Entering BACKUP STATE

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: VRRP sockpool: [ifindex(
      
        2
      
      ), proto(
      
        112
      
      ), fd(
      
        11
      
      ,
      
        12
      
      
        )]

Jan  
      
      
        9
      
      
        19
      
      :
      
        16
      
      :
      
        25
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      
        ]: Using LinkWatch kernel netlink reflector...

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        33
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: VRRP_Instance(VI_1) Transition to MASTER STATE

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        34
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: VRRP_Instance(VI_1) Entering MASTER STATE

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        34
      
       localhost Keepalived_vrrp[
      
        22421
      
      
        ]: VRRP_Instance(VI_1) setting protocol VIPs.

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        34
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 
      
        for
      
      
        192.168
      
      .
      
        65.128
      
      
        

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        34
      
       localhost avahi-daemon[
      
        1810
      
      ]: Registering new address record 
      
        for
      
      
        192.168
      
      .
      
        65.128
      
      
         on eth2.IPv4.

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        34
      
       localhost Keepalived_healthcheckers[
      
        22420
      
      ]: Netlink reflector reports IP 
      
        192.168
      
      .
      
        65.128
      
      
         added

Jan  
      
      
        9
      
      
        19
      
      :
      
        17
      
      :
      
        39
      
       localhost Keepalived_vrrp[
      
        22421
      
      ]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 
      
        for
      
      
        192.168
      
      .
      
        65.128
      
    

從第33秒后發現,備用nginx已經轉為master狀態。

再看

      
        [root@localhost nginx]# ip a


      
      
        1
      
      : lo: <LOOPBACK,UP,LOWER_UP> mtu 
      
        16436
      
      
         qdisc noqueue state UNKNOWN 

    link
      
      /loopback 
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
       brd 
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      :
      
        00
      
      
        

    inet 
      
      
        127.0
      
      .
      
        0.1
      
      /
      
        8
      
      
         scope host lo

    inet6 ::
      
      
        1
      
      /
      
        128
      
      
         scope host 

       valid_lft forever preferred_lft forever


      
      
        2
      
      : eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 
      
        1500
      
       qdisc pfifo_fast state UP qlen 
      
        1000
      
      
        

    link
      
      /ether 
      
        00
      
      :0c:
      
        29
      
      :a7:
      
        81
      
      
        :c7 brd ff:ff:ff:ff:ff:ff

    inet 
      
      
        192.168
      
      .
      
        65.137
      
      /
      
        24
      
       brd 
      
        192.168
      
      .
      
        65.255
      
      
         scope global eth2

    inet 
      
      
        192.168
      
      .
      
        65.128
      
      /
      
        32
      
      
         scope global eth2

    inet6 fe80::20c:29ff:fea7:81c7
      
      /
      
        64
      
      
         scope link 

       valid_lft forever preferred_lft forever
      
    

發現沒有?vip飄過來了!

?

針對Keepalived的不足,用check_nginx.sh來監控nginx進程,實現真正意義上的負載均衡高可用.
此腳本思路其實也很簡單,即放置在后臺一直監控nginx進程;如進程消失,嘗試重啟nginx,
如是失敗則立即停掉本機的keepalived服務,讓另一臺負載均衡器接手.

      
        vi
      
       /shell/nginx_pid.
      
        sh
      
      
        

###################################################

#
      
      !/bin/
      
        bash


      
      
        while
      
      
         :

    
      
      
        do
      
      
        

    nginxpid
      
      =`
      
        ps
      
       -C nginx --no-header | 
      
        wc
      
       -
      
        l`



 
      
      
        if
      
       [ $nginxpid -eq 
      
        0
      
      
         ]

   
      
      
        then
      
      

   /usr/local/nginx-
      
        0.8
      
      .
      
        53
      
      /sbin/
      
        nginx

   
      
      
        sleep
      
      
        5
      
      
        if
      
       [ $nginxpid -eq 
      
        0
      
      
         ]

    
      
      
        then
      
      

    /etc/init.d/
      
        keepalived stop

    
      
      
        fi
      
      
        fi
      
      
        sleep
      
      
        5
      
      
        done
      
      
        

###################################################
      
    

?

?

我們仍然可以繼續訪問我們的站點。至此。故障點切換宣告結束。

?

?

?

?

【原創】學習日記5:nginx負載均衡(三)2012.01.10 nginx+keepalievd,實現負載均衡和故障點切換。keepalived雙機熱備。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久久国产精品www | 天天干com | 欧美高清视频一区 | 精品久久久久久无码中文字幕 | 欧美日韩精品一区二区 | 国产在线精品香蕉综合网一区 | www.色人阁 | 鲍莉 | 成人自拍在线 | 亚洲毛片在线观看 | 中文字幕av一区二区三区 | 5060网午夜 | 久久精品草 | 波多野结衣中文在线播放 | 我不卡在线 | 久久久久久久蜜桃 | 一区二区三区在线视频播放 | 午夜精品久久久久久久久久久久久 | 最新的黄色网址 | 色综合久久婷婷天天 | 色情综合色情播五月 | 超级碰在线视频 | 一区二区三区高清在线观看 | 好吊在线视频 | 欧美精品免费xxxxx视频 | 欧美成a人片在线观看久 | 久久色婷婷 | 日本午夜精品一区二区三区电影 | 亚洲国产精品视频一区 | 久久久国产精品免费视频 | www.伊人| 99视频在线 | 国产精品一区二区三区四区 | 天天操夜夜操夜夜操 | 欧美在线中文字幕 | 在线色| 日本一本久道 | 福利视频第一页 | 四虎在线观看一区二区 | 久福利| 国产成人精品免费视频大全可播放的 |