nginx+keepalived高可用服务器宕机解决方案


一、基本服务器宕机的主从切换配置

两台nginx服务器,分别安装keepalived,配置/etc/keepalived/keepalived.conf

主从配置: 
 nginx 
修改主nginx下/etc/keepalived/keepalived.conf文件 
nginx+keepalived高可用服务器宕机解决方案_第1张图片 
nginx+keepalived高可用服务器宕机解决方案_第2张图片

 nginx 
修改备nginx下/etc/keepalived/keepalived.conf文件 
配置备nginx时需要注意:需要修改state为BACKUP , priority比MASTER低,virtual_router_id和master的值一致 
nginx+keepalived高可用服务器宕机解决方案_第3张图片 
nginx+keepalived高可用服务器宕机解决方案_第4张图片

此时如果主机宕机则备机会顶替主机获得虚拟ip

二、基于nginx进程死掉的主从切换配置

keepalived是通过检测keepalived进程是否存在判断服务器是否宕机,如果keepalived进程在但是nginx进程不在了那么keepalived是不会做主备切换,所以我们需要写个脚本来监控nginx进程是否存在,如果nginx不存在就将keepalived进程杀掉。

在主nginx上需要编写nginx进程检测脚本(check_nginx.sh),判断nginx进程是否存在,如果nginx不存在就将keepalived进程杀掉,check_nginx.sh内容如下: 
nginx+keepalived高可用服务器宕机解决方案_第5张图片

将check_nginx.sh拷贝至/etc/keepalived下,注意修改/etc/keepalived/check_nginx.sh的可执行权限,修改主nginx的keepalived.conf,添加脚本定义检测,注意下边红色标识地方: 
nginx+keepalived高可用服务器宕机解决方案_第6张图片 
nginx+keepalived高可用服务器宕机解决方案_第7张图片

修改后重启keepalived。

局长点评: 
1. 为了保证业务7*24小时工作,浪费一台机器也值得; 
2. 脚本最好用路径,不用service;

你可能感兴趣的:(nginx+keepalived高可用服务器宕机解决方案)