首先确认系统已经安装好Nginx并能正常访问。
nginx搭建请查看http://blog.csdn.net/u011019141/article/details/78716078
需要高可用的nginx对应的设备均需要安装keepalived服务,安装步骤一样。
本文安装目录为: /opt/keepalived
下载keepalived
解压安装包
安装openssl软件包
进入安装包
编译安装包
创建文件夹
复制启动文件
创建两个软链接
设置开机服务
启停keepalived服务
就可以使用以下命令启停服务了: service keepalived [start | stop | reload | restart ]
两台机器按照以上步骤安装完毕后,进入下面配置keepalived
查看启动状态
注意: 此时keepalived的配置路径为 : /etc/keepalived/keepalived.conf
修改master的配置
修改backup配置
编写nginx_check.sh脚本
重启keepalived服务
配置iptables
添加
访问测试
访问http://192.168.70.130/,且分别stop掉master或者backup的keepalived服务,查看页面效果,为了方便,请提供不同的nginx访问页面。
需要高可用的nginx对应的设备均需要安装keepalived服务,安装步骤一样。
本文安装目录为: /opt/keepalived
Keepalived安装
进入keepalived待安装目录cd /opt
wget -c http://www.keepalived.org/software/keepalived-1.3.9.tar.gz
tar -zxvf keepalived-1.3.9.tar.gz
yum install -y openssl openssl-devel
cd keepalived-1.3.9/
./configure --prefix=/opt/keepalived
Keepalived做成系统服务
为了方便启停keepalived服务,做成系统服务自启动创建文件夹
mkdir /etc/keepalived
cp /opt/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /opt/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /opt/keepalived/sbin/keepalived /sbin/
ln -s /opt/keepalived/sbin/keepalived /usr/sbin/
chkconfig keepalived on
就可以使用以下命令启停服务了: service keepalived [start | stop | reload | restart ]
service keepalived start
查看启动状态
ps -ef | grep keepalived
配置keepalived
192.168.1.100为主节点, 192.168.1.101为从节点, 192.168.1.110 为VIP注意: 此时keepalived的配置路径为 : /etc/keepalived/keepalived.conf
修改master的配置
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id NodeA
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_nginx { #检查nginx进程脚本此处暂未启动
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script { # 执行上面检测nginx进程脚本
chk_nginx
}
virtual_ipaddress {
192.168.70.130
}
}
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id NodeB #自定义主机名
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_nginx { #检查nginx进程脚本此处暂未启动
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script { # 执行上面检测nginx进程脚本
chk_nginx
}
virtual_ipaddress { #虚拟ip
192.168.70.130
}
}
#!/bin/sh
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
service keepalived restart
vim /etc/sysconfig/iptables
-A INPUT -p vrrp -j ACCEPT
访问http://192.168.70.130/,且分别stop掉master或者backup的keepalived服务,查看页面效果,为了方便,请提供不同的nginx访问页面。