利用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 { ####此處定義發生替換會郵件通知
# }
# 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