LVS+keepalived+nginx搭建高可用负载均衡集群(详细配置步骤讲解)

Posted 纵享山河万里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS+keepalived+nginx搭建高可用负载均衡集群(详细配置步骤讲解)相关的知识,希望对你有一定的参考价值。

一.准备工作

    首先我们要准备四台虚拟机如下表所示:

主机IP
MASTER

192.168.204.130

192.168.204.208(VIP)

real_server1192.168.204.135
real_server2192.168.204.137
BACKUP192.168.204.138

1.在主机和备机上都要安装LVS和keepalived:

安装LVS:yum install ipvsadm -y

安装keepalived:需要先安装依赖库:

yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel

然后yum install keepalived -y

我们需要在主机上配置一个虚拟ip,这个我们可以直接在keepalived.conf中配置,现在不需要着急

2.在两台真实服务器上都要安装nginx:

安装nginx也需要先安装依赖库:

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

然后:yum install nginx -y

接下来我们就要查看每台服务器的防火墙以及slinux是否关闭,时间是否同步,如果不知道如何修改,具体的修改方式在前面的博客都有具体讲.

二.nginx服务器的配置

.为了更好的区分两台nginx服务器,我们需要修改一下nginx的html配置.

cd /usr/share/nginx/html

然后编辑index.html文件具体配置如下:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<h2>This is RealServer-1 for Nginx:192.168.204.135 </h2>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

这里需要注意的是我们要将nginx的IP修改为本机IP

然后我们可以访问一下nginx的网页,结果如下图所示:

 另外一台真实服务器的nginx配置也和上面一样

注意:如果你的nginx页面并不显示刚刚新加的IP信息的话,我们就要查看对应的nginx下的default.conf文件配置的路径是否与我们现在的路径一致,如果遇到上面的问题的具体解决办法如下:首先我们要进到/etc/nginx/conf.d目录下,编辑default.conf文件,如下:

 我们要注意上面的箭头所指的文件路径要与我们刚才配置的index.html的路径保持一致,否则将无法识别!!!!!两台nginx服务器配置好了之后就可以开始后续操作了.

三.keepalived的具体配置

vim /etc/keepalived/keepalived.conf

 (第一部分如上图所示,把不需要的注销掉)

 (第二部分的箭头所指是VIP,也就是虚拟地址,随便设置一个就可以了,最好和真实IP保持同一网段)

 (第三部分的第一个IP地址为虚拟IP,端口默认为你default.conf里所配置的端口,大多为80端口,第二个IP是我们的真实主机1的IP地址,第三个IP为真实主机2的IP地址,剩下的信息按照上图配置保持一致即可,另外的多余信息注销掉)

 另外一台备机的配置跟上面差不多,需要修改的地方有第二张图的第二行state要改为BACKUP.

切记:每一次修改配置文件之后都需要重启服务才能生效!!!!!!!!!!

四.真实主机的环境配置

配置两台真实服务器上的回环地址,具体步骤如下:

cd /etc/sysconfig/network-scripts/

然后编辑回环地址:vim ifcfg-lo,具体配置如下图:

 添加上箭头所指的两行,IP为上面配置的虚拟IP,其他保持上图一致.

接下来我们需要调整内核参数,关闭arp响应,具体操作如下所示:

vim /etc/sysctl.conf

 我们需要在文件的末尾添加上如上图所示的四行内容.另外一台真实主机做相同配置即可.

五.测试

我们在网页上访问虚拟IP时不断刷新可以在两台真实主机上来回跳转即可,这个时候就凸显了我们最开始修改nginx的html文件的重要性了,不然无法分别是否发生跳转.

 

 如果跳转成功就说明本次服务搭建完成.

六.排错及排错思路

  首先我们要养成遇到问题首先查看日志的思维,如果是服务无法跳转那么我们先查看一下主机是绑定两台真实服务器:

 保证两台真实服务器都存在了之后我们再查看一下信息:

Lvs模块设置超时时间:ipvsadm --set 1 2 1

Keepalived.conf需要注释persistence_timeout 1

Nginx.conf需要改配置keepalive_timeout 1

如果上述操作均已完成之后还是无法实现页面跳转,那么我们就要再次查看报错日志,

真实服务器查看报错日志方式:tail -f /var/log/nginx/error.log

主备查看日志: vim /var/log/message  shift+g跳转到最后一行,查看具体报错信息.

本次分享就这些,希望对大家的学习有所帮助!!!

以上是关于LVS+keepalived+nginx搭建高可用负载均衡集群(详细配置步骤讲解)的主要内容,如果未能解决你的问题,请参考以下文章

keepalived+Haproxy搭建高可用Web群集

LVS + Keepalived 搭建高可用的负载均衡群集

公司nginx keepalived tomcat cxf 搭建高可用负载均衡实战系列1- keepalived安装配置

公司nginx keepalived tomcat cxf 搭建高可用负载均衡实战系列1- keepalived的安装配置

LVS+Keepalived搭建高可用负载均衡

Lvs+keepalived+httpd+NFS搭建高可用