使用Haproxy搭建Web群集

Posted

tags:

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

使用Haproxy搭建Web群集

实验介绍:Haproxy是目前比较流行的一种群集调度工具,相比较于同类的群集调度工具如LVS和nginx而言,LVS性能最好,但是搭建相对比较复杂,Nginx的upstream模块支持群集功能,但是对群集节点的健康功能不强,性能没有Haproxy好,所以,这次我们使用Haproxy来搭建群集。

案例环境

主机 操作系统 IP地址 主要软件
Haproxy服务器 Centos 7 192.169.100.222 haproxy-1.5.19.tar.gz
Nginx服务器1 Centos 7 192.168.100.221 nginx-1.15.0.tar.gz
Nginx服务器2 Centos 7 192.168.100.220 nginx-1.15.0.tar.gz
客户端 win7 192.168.100.100 IE浏览器

1、首先编译安装两台作为节点(真实)服务器的Nginx服务器。先安装编译所需要的工具包和开发包。

yum install -y pcre-devel                #pcre语言开发包
zlib-devel                #压缩模块开发包
gcc                       #c语言包
gcc-c++                   #c++语言包
make                       #make工具包

2、Nginx服务程序默认是以nobody身份运行的,添加运行nginx的用户和组,不建立宿主文件夹,也禁止登录到shell环境。

useradd -M -s /sbin/nologin nginx    #-M 不建立家目录 -s 指定shell环境

3、将nginx-1.15.0.tar.gz解压到/opt目录下,便于编译安装

tar zxvf nginx-1.15.0.tar.gz -C /opt/

4、切换至/opt/nginx-1.15.0目录下,进行配置

cd /opt/nginx-1.15.0
./configure                     #指定配置程序
--prefix=/usr/local/nginx       #指定安装路径
--user=nginx                    #指定运行用户
--group=nginx                    #指定运行组

5、进行编译和安装

make && make install

6、安装完后,到默认首页存放的目录中,建立测试页面

cd /usr/local/nginx/html

echo "this is accp web" > test.html

7、将nginx启动命令建立软链接到/usr/local/sbin,目录下。

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

8、启动nginx,并查看系统的80端口是否开启。

nginx
netstat -ntap | grep nginx

技术分享图片

9、为了实验方便,网址没有配置域名,直接用IP访问,在客户端访问http://192.168.100.220/test.html进行测试,如下图所示。
技术分享图片
10、搭建另外一台Nginx服务器,步骤相同,不同之处在于建立测试页面。

cd /usr/local/nginx/html

echo "this is benet web" > test.html

11、在客户端访问http://192.168.100.221/test.html进行测试,如下图所示

技术分享图片

12、在调度服务器中编译安装Haproxy,用yum仓库安装所需要的开发包和工具包

yum install -y pcre-devel bzip2-devel                #安装bzip2压缩模块
gcc gcc-c++ make

13、将haproxy-1.5.19解压到/opt目录中

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

14、到haproxy-1.5.19目录中,进行编译安装

cd haproxy-1.5.19/
make TARGET=linux26        #指定为64位系统
make install

15、建立Haproxy的配置文件

mkdir /etc/haproxy
cp examples/haproxy.cfg /etc/haproxy/ 

16、配置Haproxy配置文件,其中globle为全局配置,defaults为默认设置,listen为应用组件配置,删除以下语句。

chroot /usr/share/haproxy  #更换haproxy根目录
redispatch                 #强制发送请求到已经down掉的服务器

17、删除所有listen项目更换成下列语句,然后保存退出。

listen  webcluster 0.0.0.0:80
        option httpchk GET /test.html
        balance roundrobin
        server inst1 192.168.100.221:80 check inter 2000 fall 3
        server inst2 192.168.100.222:80 check inter 2000 fall 3

18、将haproxy启动命令复制到系统启动目录中,并添加执行权限,加入到系统管理中。

cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
chmod +x haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

19、开启haproxy服务

service haproxy start

20、测试Web群集,在客户端浏览器打开http://192.168.100.222/test.html,访问两次

技术分享图片

技术分享图片

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

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

使用haproxy搭建web群集

使用 haproxy 搭建 web 群集

Haproxy搭建Web群集

使用HAProxy搭建Web群集

使用Haproxy搭建Web群集