Linux安装haproxy完整教程
一. 下载安装包
下载地址:最新2.9.4版本下载
二. 解压安装
1.解压到/opt目录
tar -zxvf haproxy-2.9.4.tar.gz
进入 /opt/haproxy-2.9.4
cd /opt/haproxy-2.9.4
2.安装编译环境
#安装
sudo yum -y install gcc gcc-c++ libstdc++-devel
#查看版本
gcc -v
查看linux内核
uname -r
3.编译haproxy
# 310是版本,x86_64是系统位数
make TARGET=linux310 PREFIX=/opt/haproxy ARCH=x86_64
4.安装haproxy
make install PREFIX=/opt/haproxy
5.编写配置文件
vim /opt/haproxy/haproxy.conf
# 全局配置,定义haproxy进程的工作特性和全局配置
global
log 127.0.0.1 local2
chroot /opt/haproxy #chroot运行的路径
pidfile /opt/haproxy/haproxy.pid #haproxy pid的存放位置
maxconn 65536 #最大连接数
#nbproc 1
ulimit-n 200000
user haproxy #haproxy的运行用户
group haproxy #haproxy的运行用户的所属组
daemon #守护进程的方式在后台工作
# turn on stats unix socket
stats socket /opt/haproxy/stats
defaults
mode tcp #默认使用的七层协议,也可以是tcp四层协议,如果配置为health,则表示健康检查,返回ok
log global
option tcplog #详细记录tcp日志
option redispatch
option dontlognull #不记录健康检查的日志信息
option forwardfor
retries 3 #重试次数为3次,失败3次以后则表示服务不可用
timeout http-request 5s #http请求超时时间,客户端建立连接5s但不请求数据的时候,关闭客户端连接
timeout queue 10s #等待最大时间,表示等待最大时长为10s
timeout connect 10s #连接超时时间,表示客户端请求转发至服务器所等待的时长为10s
timeout client 30m #客户端超时时间,表示客户端非活跃状态的时间为30min
timeout server 30m #服务器超时时间,表示客户端与服务器建立连接后,等待服务器的超时时间为30min
timeout http-keep-alive 10s #持久连接超时时间,表示保持连接的超时时长为10s
timeout check 10s #心跳检测超时时间,表示健康状态监测时的超时时间为10s
#监听
listen proxy_status
#代理的端口号48066
bind :48066
mode tcp
#需要负均衡的服务
balance roundrobin
#server gateway_1 172.20.68.22:3307 check inter 10s fall 3 weight 30
server gateway_2 172.20.68.22:3308 check inter 10s fall 3 weight 30
#server gateway_3 172.20.68.22:3309 check inter 10s fall 3 weight 30
#后台管理的配置
frontend admin_stats
#后台管理端口7777
bind :7777
mode http
stats enable
option httplog
maxconn 10
stats refresh 30s
#地址ip:端口/admin
stats uri /admin
#用户名:admin 密码:123456
stats auth admin:123456
stats hide-version
stats admin if TRUE
6.配置日志输出
vim /etc/rsyslog.conf
取消注释
插入配置文件 global 日志输出
local2.* /var/log/haproxy/haproxy.log
保存退出
vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-r -x -m 0 -c 2"
保存退出
7.启动haproxy
./sbin/haproxy -f /opt/haproxy/haproxy.conf
重启rsyslog服务
systemctl restart rsyslog.service
三.查看后台
监控页面
登录时 用haproxy.conf配置的账号密码
日志生成(注释:默认配置在/var/log/haproxy 目录下,配置其他位置不生效)