天天看点

用NginX+keepalived实现高可用的负载均衡

用途

IP

MASTER

10.1.1.100

BACKUP

10.1.1.150

两台接入服务器公用一个虚拟IP(VIP):10.1.1.200

100\150两个主机配置虚拟IP:

两台接入服务器分别安装NginX和keepalived:

 · 准备依赖包:

· 安装keepalived:

· 加入启动服务

两台接入服务器的NginX的配置完全一样,主要是配置/usr/local/nginx/conf/nginx.conf的http。其中多域名指向是通过虚拟主机(配置http下面的server)实现;同一域名的不同虚拟目录通过每个server下面的不同location实现;到后端的服务器在http下面配置upstream,然后在server或location中通过proxypass引用。要实现前面规划的接入方式,http的配置如下:

验证方法:

·        首先用IP访问前表中各个应用服务器的url

·        再用域名和路径访问前表中各个应用系统的域名/虚拟路径

按照上面的安装方法,keepalived的配置文件在/etc/keepalived/keepalived.conf。主、从服务器的配置相关联但有所不同。如下:

修改MASTER的keepalived.conf:

 #vim /etc/keepalived/keepalived.conf 

修改BACKUPkeepalived.conf:

3.3 编写监控nginx监控脚本

3.4 测试:

对于简单重复性劳动,人总是容易犯错,这种事情最好交给机器去做。比如,在这个案例中,作为统一接入服务器,可能经常要修改nginx的配置、nginx下面的html文件等。而且,一定要保证集群中的每台服务器的配置相同。最好的做法是由配置管理服务器来管理,如果没有,也可以使用简单的linux文件同步来解决。

在nginx/conf下生成秘钥:

 如果要启用SSL,在nginx中进行如下配置:

这里是的相关配置

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1564821如需转载请自行联系原作者

qianghong000