首页 » Nginx » 正文

Nginx+Keepalived高可用

目标:通过keepalived监控nginx,实现nginx的高可用(双机热备)

环境:CentOS release 6.3 (Final)
Server1:192.168.2.137
Server2:192.168.2.138
VIP:192.168.2.139

 

一、安装

1、下载&安装pcre

下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

2、下载&安装nginx

下载地址:http://nginx.org/en/download.html

3、下载&安装keepalived

下载地址:http://www.keepalived.org/download.html

二、配置

1、nginx配置

#此处忽略nginx详细配置,详解请看其他文章

2、keepalived配置

示例配置文件如下:

监控脚本nginx_monitor.sh:

Nginx可以依靠keepalived保持存活,但如果keepalived挂掉,谁要保证它的存活呢?
有人可能会说,这时候就会主备切换了。但如果主机挂掉之后,备机也挂掉呢?
这时候需要我们对keepalived也进行监控,此处仅对进程进行监控,大家可以扩展一下,加入邮件、短信告警。

监控脚本keepalived_monitor.sh:

该脚本配合crontab,可周期性的检测keepalived服务,如果服务停止,则重新启动。

三、启动服务并验证

1、启动nginx

nginx的日志文件路径:/usr/local/nginx/logs/

2、启动keepalived

keepalived的日志文件路径:/var/log/messages

3、验证nginx
通过浏览器访问:http://localhost/
QQ图片20150826160628

4、验证keepalived
查看messages内容,以下日志表示浮动IP绑定成功。

还可以通过命令验证:

5、主备切换验证

1 通过浮动IP访问后端web服务
2 停止nginx主机,浮动IP自动切换到备机,通过浮动IP访问后端web服务
3 停止nginx主机,监控脚本自动启动nginx服务
4 停止nginx备机,监控脚本自动启动nginx服务
5 停止主机keepalived,浮动IP自动切换到备机,通过浮动IP访问后端web服务
6 主机恢复,自动抢占浮动IP
7 主机断电,备机接管服务
8 重启备机keepalived服务,主机自动发现备机离线、上线
9 重启备机nginx服务,主机自动发现备机离线、上线

 

 

本文共 1 个回复

  • 阿布 2016/10/12 16:35

    keepalived.conf …… track_script { nginx_monitor #检测nginx存活的监控脚本 } virtual_ipaddress { 192.168.2.139 #浮动IP地址,不带掩码默认32. } …… 感谢楼主博客的参考,这里我说一下我的实践,以上两个某块应该有先后顺序,应该倒一下顺序,不然vip出来;

发表评论