1.yum本地源安装Haproxy
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install haproxy -y
2.yum网络源安装Haproxy
关闭防火墙和selinux
###先把安装包拖进来[root@localhost ~]# yum install rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm -y
###会提示缺少runtime这个包
###把runtime包装一下就好了
[root@localhost ~]# yum install rh-haproxy18-runtime-3.1-2.el7.x86_64.rpm -y###然后再装一下第一个包###
[root@localhost ~]# yum install rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm -y
安装完成;如下:
1.找名字,启动
[root@localhost ~]# rpm -qa|grep haproxy
rh-haproxy18-runtime-3.1-2.el7.x86_64
rh-haproxy18-haproxy-1.8.24-3.el7.x86_64
[root@localhost ~]#
[root@localhost ~]# systemctl start rh-haproxy18-haproxy.service
[root@localhost ~]#
[root@localhost ~]# systemctl status rh-haproxy18-haproxy.service
3.第三方仓库yum安装
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]#
[root@localhost ~]# yum install centos-release-scl-rh [root@localhost ~]# yum install rh-haproxy18-haproxy
[root@localhost ~]# systemctl start rh-haproxy18-haproxy.service
[root@localhost ~]#
[root@localhost ~]# systemctl status rh-haproxy18-haproxy.service
可以启动;没问题
4.编译安装lua
1.在7-2装一下
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0[root@localhost ~]# yum install haproxy -y
2.去7-1安装
官网地址:https://www.lua.org/ftp/lua-5.4.6.tar.gz
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0###建立一个data文件夹
[root@localhost ~]# mkdir /data
[root@localhost ~]# cd /data
###开始安装
[root@localhost data]# curl -L -R -O http://www.lua.org/ftp/lua-5.4.6.tar.gz[root@localhost data]# tar zxf lua-5.4.6.tar.gz
[root@localhost data]# cd lua-5.4.6/
报错:gcc命令未找到
[root@localhost lua-5.4.6]# yum -y install gcc automake autoconf libtool make
问题解决了
###gcc解决后;然后再make all;就好了
3.做路径优化
[root@localhost data]# ln -s lua-5.4.6 lua
5.编译安装Haproxy
1.解压包
[root@localhost data]# rz -E
rz waiting to receive.
[root@localhost data]# ls
haproxy-2.4.25.tar.gz lua lua-5.4.6 lua-5.4.6.tar.gz
[root@localhost data]# tar xf haproxy-2.4.25.tar.gz
[root@localhost data]# ls
haproxy-2.4.25 haproxy-2.4.25.tar.gz lua lua-5.4.6 lua-5.4.6.tar.gz
2.编译haproxy
[root@localhost data]# cd haproxy-2.4.25/[root@localhost haproxy-2.4.25]# ls
addons CHANGELOG doc INSTALL Makefile ROADMAP SUBVERS VERS
admin CONTRIBUTING examples LICENSE README scripts tests
BRANCHES dev include MAINTAINERS reg-tests src VERDATE[root@localhost haproxy-2.4.25]# yum -y install gcc openssl-devel pcre-devel sysvel
make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/data/lua/src/ LUA_LIB=/data/lua/src/
[root@localhost haproxy-2.4.25]# make install PREFIX=/apps/haproxy
3.路径优化
[root@localhost haproxy-2.4.25]# ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
[root@localhost haproxy-2.4.25]#
[root@localhost haproxy-2.4.25]# haproxy -v
4.生成配置文件
[root@localhost haproxy-2.4.25]# cd examples/
[root@localhost examples]# tee /usr/lib/systemd/system/haproxy.service <<eof>
> [Unit]
> Description=HAProxy Load Balancer
> After=syslog.target network.target
>
> [Service]
> ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
> ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
> ExecReload=/bin/kill -USR2 $MAINPID
> LimitNOFILE=100000
>
> [Install]
> WantedBy=multi-user.target
>
>
> eof
生成文件后,可以看一下
5.创建文件
[root@localhost examples]# mkdir /etc/haproxy/
[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]#
[root@localhost examples]# mkdir /var/lib/haproxy/
6.设置用户和目录权限
[root@localhost examples]# ls /usr/lib/systemd/system/haproxy.serviceuseradd -r -s /sbin/nologin haproxy
systemctl enable --now haproxy
7.看haproxy起没起
[root@localhost examples]# systemctl enable --now haproxy
[root@localhost examples]# systemctl status haproxy.service
6.状态页
1.解析
2.更改状态页配置
[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]#
[root@localhost examples]# systemctl restart haproxy.service
3.访问页面
7.日志
1.查看日志
[root@localhost examples]# vim /var/log/messages
[root@localhost examples]# tail -f /var/log/messages
2.修改配置
[root@localhost ~]# vim /etc/rsyslog.conf
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# systemctl restart rsyslog.service haproxy.service
3.测试
[root@localhost ~]# ls /var/log/haproxy.log
/var/log/haproxy.log
[root@localhost ~]# tail -f /var/log/haproxy.log
4.把haproxy.log放在远端服务器
[root@localhost ~]# vim /etc/haproxy/haproxy.cfg15 log 192.168.91.102 local6 info[root@localhost ~]# systemctl restart haproxy.service
5.配置7-2
[root@localhost ~]# vim /etc/rsyslog.conf
[root@localhost ~]# systemctl restart rsyslog.service
[root@localhost ~]# systemctl restart haproxy.service
[root@localhost ~]# ls /var/log/haproxy.log
刷新状态页;看日志
[root@localhost ~]# tail -f /var/log/haproxy.log
8.Proxies
1.去7-1的haproxy配置文件
[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]# systemctl restart haproxy.service
2.去配置7-2
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
写点内容到主站点目录下index文件中
[root@localhost ~]# cd /var/www/html
[root@localhost html]# echo 7-2 > index.html
3.配置7-3
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
写点内容到主站点目录下index文件中
[root@localhost ~]# cd /var/www/html
[root@localhost html]# echo 7-3 > index.html
[root@localhost html]#
4.访问192.168.91.100
[root@localhost ~]# curl 192.168.91.100
7-2
[root@localhost ~]# curl 192.168.91.100
7-3
5.关掉7-3的httpd
[root@localhost html]# systemctl stop httpd
6.去7-4curl访问一下
[root@localhost ~]# curl 192.168.91.100
没有后端健康性检查
7.去7-1配置文件中加一下健康性检查
[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]# systemctl restart haproxy.service
8.去7-4curl访问
此时7-3的httpd服务还是关闭的
我们加了后端性检查;所以它不会去访问7-3了
9.去7-1修改配置
[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]# systemctl restart haproxy.service
35 frontend ky3536 bind 192.168.91.100:8037 # use_backend ky35_web38 39 backend ky35_web40 server rs1 192.168.91.101:80 check41 server rs2 192.168.91.102:80 check