转自 https://blog.csdn.net/libaineu2004/article/details/79129684
一、下载安装包
https://blog.csdn.net/libaineu2004/article/details/79129684
http://pkgs.fedoraproject.org/repo/pkgs/haproxy/?ftp下载
http://cbonte.github.io/haproxy-dconv/?官方文档
二、源码编译与安装
tar -zxf haproxy-1.7.9.tar.gz
cd haproxy-1.7.9
make TARGET=linux3100 PREFIX=/usr/local/haproxy
TARGET应该怎么填?TARGET指定编译对应的os对应的内核版本,通过命令”uname -r”查询Linux内核版本。源文件夹readme有针对平台的定义:
[root@bogon sbin]# uname -r
3.10.0-862.el7.x86_64
make install PREFIX=/usr/local/haproxy
mkdir -p /usr/local/haproxy/conf
cd /usr/local/haproxy/conf/
touch haproxy.cfg
haproxy默认是不带配置文件的,需要自己在conf文件夹里新建和编辑配置文件
touch haproxy.cfg,内容如下
cat > haproxy.cfg << EOF
global #全局属性
log 127.0.0.1 local0 info
daemon #以daemon方式在后台运行,推荐
nbproc 1 #HAProxy启动时作为守护运行可创建的进程数,配合daemon参数使用,默认只启动一个进程,该值应小于cpu核数。
maxconn 102400 #最大同时*连接
pidfile /usr/local/haproxy/conf/haproxy.pid #指定保存HAProxy进程号的文件
stats socket /usr/local/haproxy/stats #定义统计信息保存位置
defaults #默认参数
mode tcp #tcp/http模式
retries 3
timeout connect 5s #连接server端超时5s
timeout client 300s #客户端响应超时50s
timeout server 300s #server端响应超时50s
timeout check 300s #设置对后端服务器检测超时时间,即心跳50s
frontend my-tcp-in #前端服务tcp-in
mode tcp
bind 0.0.0.0:1884 #监听1884端口
log global
default_backend my-servers #请求转发至名为"my-servers"的后端服务
backend my-servers #后端服务servers
balance roundrobin #使用RR负载均衡算法
server server1 172.16.6.161:1883 maxconn 10000 #backend servers中只有一个后端服务,名字叫server1,启在本机的1883端口,HAProxy同时最多向这个服务发起?个连接
server server2 172.16.6.161:1888 maxconn 10000
server server3 172.16.6.162:1888 maxconn 10000 check inter 3000 rise 2 fall 3
listen admin_status #统计web页面配置, frontend和backend的组合体, 监控组的名称可按需自定义
mode http #配置监控运行模式
bind 0.0.0.0:1080 #配置统计页面访问端口
maxconn 10 #统计页面默认最大连接数
log 127.0.0.1 local0 err
stats enable #开启统计
stats refresh 30s #监控页面自动刷新时间
stats uri /stats #统计页面访问url
stats realm welcome login Haproxy #统计页面密码框提示文本
stats auth admin:admin #监控页面的用户和密码:admin, 可设置多个用户名
stats admin if TRUE #手工启动/禁用后端服务器, 可通过web管理节点
EOF
默认也没有日志文件,需要自己设置/etc/rsyslog,
7、启动
cd /usr/local/haproxy/sbin
ulimit -n 102400#修改当前进程的最大文件数
./haproxy -f /usr/local/haproxy/conf/haproxy.cfg
netstat -lnpt | grep haproxy?#查看进程是否在
8、关闭
yum install psmisc -y
killall -9 haproxy
9、重启
/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -st 'cat /usr/local/haproxy/conf/haproxy.pid'
10、查看web监控
http://192.168.0.69:1080/stats
账号、密码: admin/admin