天天看點

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/

加入開機啟動:chkconfig keepalived on

二、配置

主和輔配置的差别隻在stateMASTER和priority 100

vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

#  notification_email {    ####此處定義發生替換會郵件通知

#    [email protected]

#  }

#  notification_email_from [email protected]

#  smtp_server 127.0.0.1

#  smtp_connect_timeout 30

  router_id LVS_DEVEL

}

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

#!/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的 配置這裡就不寫了配置太多了!

如果是雙網卡可以參考:http://blog.csdn.net/jiedushi/article/details/6097920

繼續閱讀