CentOS7.4下安装部署HAProxy高可用群集

目录
第一部分 实验环境
第二部分 搭建配置web服务器
第三部分 安装配置haproxy服务器
第四部分 测试验证
第五部分 haproxy配置相关详细解释

第一部分 实验环境
1.一台harpoxy调度服务器
IP地址:192.168.80.10
需要软件:haproxy-1.7.10.tar
2.两台Web服务器(基于nginx)
IP地址:192.168.80.20(web01)
IP地址:192.168.80.30(web02)
需要软件:nginx-1.13.9.tar.gz
//三台服务器系统:linux—CentOS7.4

CentOS7.4下安装部署HAProxy高可用群集

//软件:

CentOS7.4下安装部署HAProxy高可用群集

3.Win7客户端一台(验证测试用)
IP地址:192.168.80.2

第二部分 搭建配置web服务器
第一步:配置web01
[root@web01 ~]# yum install -y \ //安装相关插件及编译安装工具

pcre-devel \
zlib-devel \
make \
gcc \
gcc-c++
[root@web01 ~]# useradd -M -s /sbin/logogin nginx //创建nginx程序用户
[root@web01 ~]# tar xzvf nginx-1.13.9.tar.gz
[root@web01 ~]# cd nginx-1.13.9
[root@web01 nginx-1.13.9]# ./configure \ //定义配置
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx
[root@web01 nginx-1.13.9]# make && make install //编译及安装
[root@web01 nginx-1.13.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //将nginx可执行程序放到系统环境中
[root@web01 nginx-1.13.9]# echo "<h1>SERVER AA</h1>" > /usr/local/nginx/html/index.html
//修改默认主页显示内容(便于后面测试)
[root@web01 nginx-1.13.9]# nginx //启动nginx服务
[root@web01 nginx-1.13.9]# netstat -anpt | grep nginx

Win7访问

CentOS7.4下安装部署HAProxy高可用群集

第二步:配置web02(与web01一样配置)
[root@web02 ~]# yum install -y \
pcre-devel \
zlib-devel \
gcc \
gcc-c++ \
make
[root@web02 ~]# useradd -M -s /sbin/nologin nginx
[root@web02 ~]# tar xzvf nginx-1.13.9.tar.gz
[root@web02 ~]# cd nginx-1.13.9
[root@web02 nginx-1.13.9]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx
[root@web02 nginx-1.13.9]# make && make install
[root@web02 nginx-1.13.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@web02 nginx-1.13.9]# echo "<h1>SERVER BB</h1>" > /usr/local/nginx/html/index.html
[root@web02 nginx-1.13.9]# nginx
[root@web02 nginx-1.13.9]# netstat -anpt | grep nginx

Win7访问

CentOS7.4下安装部署HAProxy高可用群集

第三部分 安装配置haproxy服务器
[root@haproxy ~]# yum install -y \ //安装插件及编译工具

pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
[root@haproxy ~]# tar xzvf haproxy-1.7.10.tar.gz
[root@haproxy ~]# cd haproxy-1.7.10
[root@haproxy haproxy-1.7.10]# make TARGET=linux26 //标识64位系统
[root@haproxy haproxy-1.7.10]# make install
[root@haproxy haproxy-1.7.10]# mkdir /etc/haproxy
[root@haproxy haproxy-1.7.10]# groupadd haproxy
[root@haproxy haproxy-1.7.10]# useradd -s /sbin/nologin -M -g haproxy haproxy //添加haproxy运行haproxy账号并设置及属主与属组
[root@haproxy haproxy-1.7.10]# vi /etc/haproxy/haproxy.cfg //创建并编辑haproxy配置文件
--------------全局配置----------------
global
log 127.0.0.1 local2
#chroot /usr/local/haproxy-1.7.10
pidfile /var/run/haproxy.pid
maxconn 4000 //最大连接数
user haproxy
group haproxy
daemon //创建1个进程进入deamon模式运行,此参数要求将运行模式设置为daemon

#---------------------------------------------------------------------

common defaults that all the 'listen' and 'backend' sections will

use if not designated in their block

#---------------------------------------------------------------------
defaults
mode http //默认模式,tcp是四层,http是七层,health只会返回OK,若是混合模式则mode不需要设置
log global //采用全局定义的日志
option dontlognull //不记录健康检查的日志信息
option httpclose //每次请求完毕后主动关闭http通道
option httplog //日志类别http日志格式;如果是混合模式,此处还需要加上tcpclog
#option forwardfor //如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
option redispatch //serverId对应的服务器挂掉后,强制定向到其他健康的服务器
timeout connect 10s //超时连接10s
timeout client 10s //客户端超时连接10s
timeout server 10s //服务器连接超时
maxconn 60000 //最大连接数
retries 3 //3次连接失败就认为服务不可用
--------------统计页面配置------------------
listen admin_stats
bind 0.0.0.0:8089 //监听端口
stats enable //启用监听端口
mode http
log global
stats uri /stats //统计页面url
stats realm Haproxy\ Statistics //统计页面密码框上提示文本
stats auth admin:admin //统计页面用户名和密码设置
#stats hide-version //隐藏统计页面上HAProxy的版本信息
stats admin if TRUE //当通过认证才可管理
stats refresh 30s //页面自动刷新时间30s
---------------web设置-----------------------
listen webcluster
bind 0.0.0.0:80
mode http
option httpchk GET /index.html
log global
maxconn 3000
balance roundrobin
server web01 192.168.80.10:80 check inter 2000 fall 3
server web02 192.168.80.20:80 check inter 2000 fall 3
保存退出
[root@haproxy haproxy-1.7.10]# cp examples/haproxy.init /etc/init.d/haproxy
[root@haproxy haproxy-1.7.10]# chmod 755 /etc/init.d/haproxy
[root@haproxy haproxy-1.7.10]# chkconfig --add haproxy
[root@haproxy haproxy-1.7.10]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@haproxy haproxy-1.7.10]# service haproxy start
[root@haproxy haproxy-1.7.10]# netstat -anpt | grep haproxy

CentOS7.4下安装部署HAProxy高可用群集

[root@haproxy haproxy-1.7.10]# systemctl stop firewalld
[root@haproxy haproxy-1.7.10]# setenforce 0

第四部分 验证测试
Win7访问调度器地址

CentOS7.4下安装部署HAProxy高可用群集

等待一会,再次访问

CentOS7.4下安装部署HAProxy高可用群集

//验证成功

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2825181aa7ad5326be0f55b7fa04036d.html