Nginx+Keepalived实现站点高可用

说明:前端通过Nginx服务器把访问反代到后端的web服务器上,前端部署两台Nginx通过keepalived实现主备模式

1、安装环境

CentOS Linux release 7.5.1804 (Core)

注意两台服务器时间同步,关闭firewalld和selinux

2、反代服务器安装

# yum –y install keepalived

nginx包需要先安装epel源

# yum –y install epel-release

# yum –y install nginx

3、web服务器安装

本次实验和后端服务器关系不大,可以随意安装nginx或apache都行。

# yum –y install httpd

# systemctl start httpd

为方便测试,建立两个测试页面

web A:192.168.1.101

# echo AAAAAA > /var/www/html/index.html

web B:192.168.1.102

# echo BBBBB > /var/www/html/index.html

1、注释掉nginx的默认server配置

2、新建反代的配置

3、开启nginx并测试

# systemctl start nginx

随便找一台测试机访问192.168.1.2 和192.168.1.3 反代是否正常运行

三、配置反代服务器keepalived服务

1、keepalived的基本配置

通过基本配置可以当反代服务器1宕机的时候可以跳转到反代服务器2上

# systemctl start keepalived

这种方法只有当反代服务器1上的keepalived服务挂掉,或者整个服务器宕机、断网等情况,导致keepalived无法进行心跳验证的情况下才会切换到备机。但是如果nginx服务挂了以后无法切换,那么可以采用下面的方案来实现。

2、keepalived进阶-监控nginx服务

# systemctl restart keepalived

nginx服务down了以后,直接切换到反代2上。可以通过notify脚本来使nginx服务进行重启。不过这种方法有弊有利,请根据实际情况斟酌。详细配置方法见下方案

3、keepalived进阶-nginx服务自动重启

# systemctl restart keepalived

原文链接:https://www.cnblogs.com/ysuwangqiang/p/12036584.html

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享