nginx代理+keepalived雙機熱備

利用keepalived+nginx實現官網web的高可用性
兩臺服務器一臺爲主,一臺爲備機,使兩臺機器公用一個虛擬IP,當主服務器宕機,這個IP會自動切換到備機上,前端機恢復以後再自動切換回主服務機。前端


主和輔都須要安裝keepalived,安裝方法相同
yum -y install  kernel-devel
yum install openssl-* -y
wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
tar xzf keepalived-1.2.2.tar.gz
cd keepalived-1.2.2
./configure --prefix=/usr/local/keepalived
make && make install
ln -s   /usr/src/kernels/2.6.32-431.23.3.el6.x86_64/ /usr/src/linux #注意系統位數
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir -pv /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/linux

加入開機啓動:chkconfig keepalived onnginx

2、配置
主和輔配置的差異只在stateMASTER和priority 100
vi /etc/keepalived/keepalived.confweb

! Configuration File for keepalived
global_defs {
#  notification_email {    ####此處定義發生替換會郵件通知
#    cuimingkun@yinwuweiye.com
#  }
#  notification_email_from houzaicunsky@qq.com
#  smtp_server 127.0.0.1
#  smtp_connect_timeout 30
  router_id LVS_DEVEL
}shell


vrrp_script chk_http_port {
                script "/root/shell/nginx_pid.sh" ##監控腳本位置
                interval 2
                weight 2
}
track_script {
      chk_http_port
      }
vrrp_instance VI_1 {
    state MASTER        #####備機爲BACKUP
    interface eth0 
    virtual_router_id 51
    priority 100        #####備機要小於主
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { 
        192.168.1.68  ####虛擬IP
    }
}bash


#!/bin/bash
A=`ps -C nginx --no-header |wc -l`           
if [ $A -eq 0 ];then                                   
                /usr/local/nginx/sbin/nginx
                sleep 3
                if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
                      killall keepalived
                fi
fi
服務器



nginx的 配置這裏就不寫了配置太多了!
ide

若是是雙網卡能夠參考:http://blog.csdn.net/jiedushi/article/details/6097920ui

相關文章
相關標籤/搜索