一、 安裝nginx(略)
二、 安裝keepalive
- 下載http://www.keepalived.org/download.html
- 安裝依賴包 yum install –y popt* gcc* openssl* nmap
- tar fvxz keepalived-1.2.15.tar.gz
- cd keepalived-1.2.15
- ./configure –prefix=/usr/local/keepalived
- make && make installmkdir /etc/keepalived ##為keepalived創建配置文件目錄,默認配置文件從/etc/keepalived下讀取
- cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ ##復制keepalived的二進制命令
- cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ ##提供啟動腳本
- cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ ##keepalived的主
- cp /usr/local/keepalived/ety/sysconfig/keepalived /usr/sysconfig/
三、 配置keepalive
1. 打開配置文件vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
liumingtao@zhanghetianxia.com
lmt122900@sina.com
}
notification_email_from pub@easymobi.cn
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/opt/nginx.sh" #檢測nginx是否存活腳本位置(下面會有定義腳本名)
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER # 主 (備用 BACKUP)
interface eth0 #本機ip網卡名稱
virtual_router_id 10 # 每組keepalive routeid相同,不同組不能一樣
mcast_src_ip 192.168.102.79 #本機ip 備機用備機ip
priority 100 #權重 備機數值要比主的數值小
advert_int 1 # 檢查間隔
authentication {
auth_type PASS
auth_pass 1111222
}
track_script {
chk_http_port #定義nginx檢測腳本名稱
}
virtual_ipaddress {
192.168.102.89 #虛擬ip
}
}
啟動主備的keepalived驗證
nginx.sh 腳本 備機可以不用定義腳本相關選項
#!/bin/sh
# check nginx server status
NGINX=/usr/local/nginx/sbin/nginx
PORT=80
nmap localhost -p $PORT | grep "$PORT/tcp open"
#echo $?
if [ $? -ne 0 ];then
$NGINX -s stop
$NGINX
sleep 3
nmap localhost -p $PORT | grep "$PORT/tcp open"
[ $? -ne 0 ] && /etc/init.d/keepalived stop
fi
把腳本加上執行權限后放到/opt/目錄下