使用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群集的主要内容,如果未能解决你的问题,请参考以下文章