下载最新版本haproxy

  1. wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.8.19.tar.gz/sha512/f62b0a18f19295986d26c5c60b6b1ad55850a175bed67a359282cc37a4c630a0c2be51d608226b4316f2e69c3008c20a1cb91ce10f86311219355973a050e65b/haproxy-1.8.19.tar.gz
  2. tar -xvf haproxy-1.8.19.tar.gz && cd haproxy-1.8.19

查看对应内核版本

  1. uname -r

安装下列对应中的版本编译安装

12222.jpg
#编译安装

  1. make TARGET=linux2628 PREFIX=/data/haproxy
  2. make install PREFIX=/data/haproxy
  3. useradd -u 40002 haproxy
  4. cp /data/haproxy/sbin/haproxy /usr/sbin/
  5. mkdir -p /data/haproxy/conf
  6. cat > /data/haproxy/conf/haproxy.cfg << EOF
  7. #全局配置
  8. global
  9. #设置日志
  10. log 127.0.0.1 local3 info
  11. chroot /data/haproxy
  12. #用户与用户组
  13. user haproxy
  14. group haproxy
  15. #守护进程启动
  16. daemon
  17. #最大连接数
  18. maxconn 4000
  19. #默认配置
  20. defaults
  21. log global
  22. mode http
  23. option httplog
  24. option dontlognull
  25. timeout connect 5000
  26. timeout client 50000
  27. timeout server 50000
  28. #web状态页
  29. listen stats
  30. bind 0.0.0.0:1080 #监听端口
  31. stats refresh 30s #统计页面自动刷新时间
  32. stats uri /stats #统计页面url
  33. stats realm Haproxy Manager #统计页面密码框上提示文本
  34. stats auth admin:admin #统计页面用户名和密码设置
  35. #stats hide-version #隐藏统计页面上HAProxy的版本信息
  36. #监听3000端口至后端服务器3306端口
  37. listen mysql-server
  38. bind 0.0.0.0:3000
  39. option tcplog
  40. mode tcp
  41. #负载均衡算法(#banlance roundrobin 轮询,balance source 保存session值,支持static-rr,leastconn,first,uri等参数)
  42. balance roundrobin
  43. #check inter 2000 是检>测心跳频率,rise 2是2次正确认为服务器可用,fall 3是3次失败认为服务器不可用
  44. server mysql rm-bp1497zxp8px5j81d.mysql.rds.aliyuncs.com:3306 check inter 5s rise 2 fall 3
  45. EOF
  46. cp /data/haproxy-1.8.19/examples/haproxy.init /etc/init.d/haproxy
  47. chmod 755 /etc/init.d/haproxy && sleep 2 && sed -i 's/etc\/$BASENAME/data\/$BASENAME\/conf/g' /etc/init.d/haproxy
  48. systemctl daemon-reload && systemctl enable haproxy && systemctl start haproxy

案例
https://www.jianshu.com/p/edf2c8c7d83f