国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
nginx+keepalived實現(xiàn)雙機熱備的高可用
nginx+keepalived實現(xiàn)雙機熱備的高可用

這篇文章簡單介紹利用keepalived軟件,實現(xiàn)對nginx服務器的高可用,即實現(xiàn)故障自動切換。假設你已經(jīng)安裝好nginx,下面介紹keepalived的安裝和使用。

keepalived安裝

  1. yum install openssl-devel
  2. cd /tmp
  3. wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
  4. tar xzf keepalived-1.2.2.tar.gz
  5. cd keepalived-1.2.2
  6. ./configure
  7. make && make install
  8. cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
  9. cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
  10. chmod +x /etc/init.d/keepalived
  11. chkconfig --add keepalived
  12. chkconfig keepalived on
  13. mkdir /etc/keepalived
  14. ln -s /usr/local/sbin/keepalived /usr/sbin/

keepalived的配置

更詳細的keepalived配置文件說明可以執(zhí)行man keepalived.conf查看。
我們假設主服務器IP:192.168.1.103,從服務器ip:192.168.1.101 虛擬ip:192.168.1.110
下面對主服務器的keepalived進行配置:

  1. vi /etc/keepalived/keepalived.conf
  1. global_defs {
  2.    notification_email {
  3.      admin@centos.bz
  4.    }
  5.    notification_email_from keepalived@domain.com
  6.    smtp_server 127.0.0.1
  7.    smtp_connect_timeout 30
  8.    router_id LVS_DEVEL
  9. }
  10. vrrp_script chk_http_port {
  11.                 script "/opt/nginx_pid.sh"
  12.                 interval 2
  13.                 weight 2
  14. }
  15. vrrp_instance VI_1 {
  16.     state MASTER        ############ 輔機為 BACKUP
  17.     interface eth0
  18.     virtual_router_id 51
  19.     mcast_src_ip 192.168.1.103
  20.     priority 102                  ########### 權值要比 back 高
  21.     advert_int 1
  22.     authentication {
  23.         auth_type PASS
  24.         auth_pass 1111
  25.     }
  26. track_script { 
  27.         chk_http_port ### 執(zhí)行監(jiān)控的服務 
  28.         }
  29.     virtual_ipaddress {
  30.        192.168.1.110
  31.     }
  32. }

從服務器:

  1. global_defs {
  2.    notification_email {
  3.      admin@centos.bz
  4.    }
  5.    notification_email_from keepalived@domain.com
  6.    smtp_server 127.0.0.1
  7.    smtp_connect_timeout 30
  8.    router_id LVS_DEVEL
  9. }
  10. vrrp_script chk_http_port {
  11.                 script "/opt/nginx_pid.sh"
  12.                 interval 2
  13.                 weight 2
  14. }
  15. vrrp_instance VI_1 {
  16.     state BACKUP
  17.     interface eth0
  18.     virtual_router_id 51
  19.     mcast_src_ip 192.168.1.101
  20.     priority 101              ##########權值 要比 master 低。。
  21.     advert_int 1
  22.     authentication {
  23.         auth_type PASS
  24.         auth_pass 1111
  25.     }
  26. track_script { 
  27.         chk_http_port ### 執(zhí)行監(jiān)控的服務 
  28.         }
  29.     virtual_ipaddress {
  30.        192.168.1.110
  31.     }
  32. }

之后分別在主從服務器建立nginx的監(jiān)控腳本:

  1. vi /opt/nginx_pid.sh
  1. #!/bin/bash
  2. A=`ps -C nginx --no-header |wc -l`               
  3. if [ $A -eq 0 ];then                                       
  4.                 /usr/local/nginx/sbin/nginx
  5.                 sleep 3
  6.                 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
  7.                        killall keepalived
  8.                 fi
  9. fi

然后分別啟動主從服務器的keepalived:

  1. service keepalived start

keepalived的測試

我們在主服務器上執(zhí)行命令ip a,顯示如下:

  1. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
  2.     link/ether 00:0c:29:aa:a1:e4 brd ff:ff:ff:ff:ff:ff
  3.     inet 192.168.1.103/24 brd 255.255.255.255 scope global eth0
  4.     inet 192.168.1.110/32 scope global eth0

證明主服務器已經(jīng)綁定了虛擬ip 192.168.1.110
在從服務器上執(zhí)行命令ip a,顯示如下:

  1. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
  2.     link/ether 00:0c:29:2b:94:3b brd ff:ff:ff:ff:ff:ff
  3.     inet 192.168.1.101/24 brd 255.255.255.255 scope global eth0

顯示表明從服務器上沒有綁定vip 192.168.1.110,只有本機真實ip192.168.1.101
下面我們停止主服務器的nginx進程,再看看ip綁定情況:
主服務器的情況:

  1. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
  2.     link/ether 00:0c:29:aa:a1:e4 brd ff:ff:ff:ff:ff:ff
  3.     inet 192.168.1.103/24 brd 255.255.255.255 scope global eth0

從服務器的情況:

  1. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
  2.     link/ether 00:0c:29:2b:94:3b brd ff:ff:ff:ff:ff:ff
  3.     inet 192.168.1.101/24 brd 255.255.255.255 scope global eth0
  4.     inet 192.168.1.110/32 scope global eth0

由此可見vip已經(jīng)指向了從服務器。
參考:http://www.keepalived.org/pdf/UserGuide.pdf

轉載請注明《文章來源:http://www.centos.bz/2012/02/nginx-keepalived-high-availability/
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx+keepalived負載均衡篇
Keepalived + LVS(DR) 高可用負載均衡集群
keepalived實現(xiàn)雙機熱備
keepalived+nginx實現(xiàn)高可用雙機熱備+負載均衡架構 | 36nu
超詳細的Nginx負載均衡+高可用配置(親測附圖)
keepalived安裝配置實做筆記
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服