maxc1017 发表于 2019-1-2 09:04:08

haproxy负载均衡与搭建web群集

  前面我搭建了tomcat+nginx负载均衡群集,LVM负载均衡群集,今天百忙之中我来凑一个haproxy负载均衡群集,这三种群集的搭建我是深有体会LVS性能确实好(DR)但是在搭建过程中太过于繁琐,nginx是利用upstream模块进行群集但是对群集的节点故障检查功能不够性能与LVM相差有点远,所以今天来一个中间者haproxy。
  壹、搭建haproxy群集
1、实验拓扑
http://i2.运维网.com/images/blog/201806/17/daa3578eea34674719eaa30e4823212a.png
2、虚拟机环境(centos6.5无网环境)
http://i2.运维网.com/images/blog/201806/17/82216314c620a213b0177337e770436b.png
一台haproxy服务器,两台nginx服务器,搭建两个反馈不同内容的网站,一台客户机(与环境同一网段)进行测试
3、实验步骤
1)编译安装haproxy
首先安装两个支持包pcre-devel、bzip-devel
http://i2.运维网.com/images/blog/201806/17/5c6381a6ab73cabca6503f600f289a9c.png
编译安装haproxy(我用的1.4版本)
http://i2.运维网.com/images/blog/201806/17/b4e2a2609338bc1ced3162e2b494fd4a.png
http://i2.运维网.com/images/blog/201806/17/aacd13d379a09a5b099dd8b150f4e2c5.png
2)拷贝配置文件到/etc/haproxy目录下
http://i2.运维网.com/images/blog/201806/17/4a5f4fda297656406ef108cdbf1e17db.png
修改haproxy.cfg配置文件
http://i2.运维网.com/images/blog/201806/17/9d8e051f411b5eca2a5d6e21b70e1c64.png
http://i2.运维网.com/images/blog/201806/17/c65d8e383cba2c52b9273ae430bc89da.png
http://i2.运维网.com/images/blog/201806/17/72374f258e30f742e34b8cba4e37aa1c.png
3)创建自启脚本
http://i2.运维网.com/images/blog/201806/17/011d1a1139818edd4b7d9639e8a7bbc9.png
http://i2.运维网.com/images/blog/201806/17/700fbb6c19b9b7b877b84369af2f4ae9.png
http://i2.运维网.com/images/blog/201806/17/483056d0af4a38bf106d081d4856bc15.png
4)安装nginx并制作网页
# yum -y install pcre-devel zlib-devel
# tar zxf nginx-1.6.2.tar.gz
# cd nginx-1.6.2
# ./configure--prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install
# useradd -M -s /sbin/nologinnginx
ln -s /usr/local/nginx/sbin/ */usr/local/sbin/
#echo "node_1">/usr/local/nginx/htmlindex.html
启动nginx服务   
# nginx
关闭防火墙
IPtables -F
第一台检验本机效果
http://i2.运维网.com/images/blog/201806/17/4908a64f039a036e0c5a2ac5428e2479.png
第二台检验本机效果(关防火墙)
http://i2.运维网.com/images/blog/201806/17/3af428a2e7187864c7175c488d338fe7.png
5)开启haproxy服务
http://i2.运维网.com/images/blog/201806/17/02b4dcb0625774d35dcef5976d9cf899.png
6)测试web群集
首测负载均衡
在客户端输入haproxy IP地址测试
http://i2.运维网.com/images/blog/201806/17/e329d45a2e6a00b373c49b13fdffb503.png
打开第二个
http://i2.运维网.com/images/blog/201806/17/bdad22a2380bd2cfae305ea9493a05c0.png
下面测试高可用,我们关掉其中一台模拟故障,如果网页继续打开表示高可用没有问题
http://i2.运维网.com/images/blog/201806/17/b78e73f580b37c4c2e946cc09d02dcce.png
7)配置haproxy日志
haproxy的日志默认保存在系统的syslog中查看不是非常方便,所以我们在工作环境下可以将日志进行单独存储到不同的文件中
首先修改配置文件:
http://i2.运维网.com/images/blog/201806/17/39a34238a3dd823e2df4bfd09bcca979.png
这两行的作用是将info和notice日志分别记录到不同的文件中
然后修改rsyslog配置将haproxy相关的配置文件独立定义到haproxy.conf,并存放在/etc/rsyslog.d下,rsyslog启动时会自动加载目录下的所有配置文件
http://i2.运维网.com/images/blog/201806/17/702cc48a4ddd09172ac145fca4762503.png
加入以下内容:
http://i2.运维网.com/images/blog/201806/17/ba8bb2a5ab2d15e9d81190efb63e1024.png
以下内容将info和notice日志存放到不同的文件中
启动rsyslog服务
http://i2.运维网.com/images/blog/201806/17/89f4eaf9a1be836aef021cfa44557535.png
测试日志信息
客户机访问之后,回到haproxy服务器上就可查询访问记录
http://i2.运维网.com/images/blog/201806/17/ebc4e684c7477a25c996c93a05894a76.png



页: [1]
查看完整版本: haproxy负载均衡与搭建web群集