nginx+keepalived高可用及双主模式
引用来源:https://www.cnblogs.com/zhxx/p/7741939.html
实验目的
主Nginx挂掉,从nginx可以立即工作
利用vrrp技术,提供vip
当主nginx挂掉,利用脚本关闭主keepalied,keepalived通过vrrp技术实现从机获得vip,在从机安装相同的nginx和配置,从机通过vip继续为外界提供服务。
实验环境
主nginx负载均衡器:10.8.37.144
副nginx负载均衡器:10.8.37.145
后端代理的web服务器:windows 本机
通过keepalived配置了VIP:10.8.37.111供外使用
版本
虚拟机centros6.5
Ngnix:1.9.7
Keepalived: yum安装。
Ngnix配置及安装
一、下载安装三个库
SSL功能需要openssl库
Gzip模块需要zlib库
Rewrite模块需要pcre库
实际有的centos6.5中都已经安装了。
二、安装ngnix
1. 安装:
(1) tar -zxvf soft/nginx-1.9.7.tar.gz
(2) cd nginx-1.9.7/
(3) ./configure --with-pcre=../pcre-8.38/ --with-zlib=../zlib-1.2.8/ --with-openssl=../openssl-SNAP-20160104/
(4) make
(5) make install
注:不是实际执行步骤
2. Ngnix启动
Cd /usr/local/nginx/sbin
./ngnix
3. 准备测试
开放80端口或关闭防火墙
vim /etc/sysconfig/iptables
由于是本机测试笔者采用永久关闭防火墙
chkconfig iptables off
4. 浏览器访问
Keepalived配置及安装
三、安装keepalived
推荐yum安装(笔者为yum安装)
首先检查安装openssl-devel
yum install openssl-devel
# ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64
执行安装命令
# make
# make install
如果是tar包安装(未测试)
详见:
http://blog.csdn.net/conquer0715/article/details/47955553
四、新建nginx脚本
5. 脚本位置及内容
6. 修改文件权限
chmod +x /root/check_nginx.sh
7. 加入到作业计划
*/1 * * * * /root/check_nginx.sh >>/root/check_nginx.log
8. 修改keepalived配置文件
vi /etc/keepalived/keepalived.conf
主机:
从机:
9. 修改通信及selinux配置
10. 启动keepalived
Service keepalived start
分别执行ip addr
五、验证
关闭主的nginx、vip漂移到从机
开启主nginx、keepalived。主机成功获得vip