使用HAProxy搭建Web群集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用HAProxy搭建Web群集相关的知识,希望对你有一定的参考价值。

HAProxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS和nginx。相比较而言,LVS性能最好,但是搭建相对复杂,Nginx的upstream模块支持群集功能,但是对群集节点的健康检查功能不强,性能没有HAProxy好。

实验环境:

主机 操作系统 IP地址 主要软件
HAProxy服务器 CentOS7-3 192.168.1.60 haproxy-1.5.19.tar.gz
Nginx服务器1 CentOS7-3 192.168.1.61 nginx-1.12.0.tar.gz
Nginx服务器2 CentOS7-3 192.168.1.61 nginx-1.12.0.tar.gz
客户端 Windows7 192.168.1.66 IE浏览器

实验部署:

一. 节点服务器1

1.安装所需软件包

#yum install pcre-devel zlib-devel gcc gcc-c++ make –y

2.新建管理用户nginx

#useradd –M –s /sbin/nologin nginx

3.解压Nginx软件包至/opt目录下

#tar zxvf nginx-1.12.0.tar.gz –C /opt/          //保证在由此软件包的目录下

4.在nginx-1.12.0的目录下进行配置

#cd nginx-1.12.0/
#./configure --prefix=/usr/local/nginx          //安装目录
--user=nginx                   //用户
--group=nginx                   //用户组

5.编译及安装

#make && make install

6.添加主页文件

#cd /usr/local/nginx/html
#echo “this is benet web”>test.html

7.建立软连接方便管理

#ln –s /usr/local/nginx/sbin/nginx /usr/local/sbin

8.启动nginx

#nginx

9.关闭防火墙和增强安全功能

#systemctl stop firewalld.service
#setenforce 0

10.测试

技术分享图片
技术分享图片

二. 节点服务器2

节点服务器2的配置过程整体与节点服务器1相同,仅需注意主页设置与节点服务器1的区分。

测试:

三. HAProxy服务器

1.安装所需软件包

#yum install –y pcre-devel bzip2-devel gcc gcc-c++ make

2.解压软件包至/opt目录下(保证在有此软件包的目录下)

#tar zxvf haproxy-1.5.19.tar.gz –C /opt/

3.编译及安装

#cd /opt/haproxy-1.5.19
#make TARGET=linux26
#make install

4.创建配置文件存放目录

#mkdir /etc/haproxy

5.拷贝配置模板文件至存放目录下

#cp examples/haproxy.cfg /etc/haproxy/

6.修改配置文件

#cd /etc/haproxy/
#vim haproxy.cfg
删除所有listen项目并删除以下语句
chroot /usr/share/haproxy
redispatch
添加
listen webcluster 0.0.0.0:80
     option httpchk GET /test.html          //检查系统的test.html文件
     balance roundrobin                 //负载均衡调度算法使用轮询算法
     server inst1 192.168.1.61:80 check inter 2000 fall 3       //定义在线节点
     server inst2 192.168.1.62:80 check inter 2000 fall 3

7.创建自启动脚本

#cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
#chmod +x /etc/init.d/haproxy                   //赋予可执行权限
#chkconfig –add /etc/init.d/haproxy             //加入系统服务
#ln –s /usr/local/sbin/haproxy /usr/sbin/haproxy

8.启动haproxy

#service haproxy start

9.关闭防火墙和增强安全功能

#systemctl stop firewalld.service
#setenforce 0

10.在客户端win7上测试:

技术分享图片
技术分享图片

四. 添加日志功能

1. 编辑配置文件

#vim /etc/haproxy/haproxy.cfg
log  /dev/log   /local0 info
log  /dev/log   /local0 notice              //将配置文件里global下面的两行进行替换

2. 重启haproxy

#service haproxy restart

3. 修改rsyslog配置

#vim /etc/rsyslog.d/haproxy.conf
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘info‘)
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘notice‘)
then -/var/log/haproxy/haproxy-notice.log
&~

4. 重启系统日志服务

#systemctl restart rsyslog.service

5. 测试日志信息

#tail –f /var/log/haproxy/haproxy-info.log

以上是关于使用HAProxy搭建Web群集的主要内容,如果未能解决你的问题,请参考以下文章

群集05-使用Haproxy搭建Web群集

使用haproxy搭建web群集

使用 haproxy 搭建 web 群集

Haproxy搭建Web群集

使用HAProxy搭建Web群集

使用Haproxy搭建Web群集