[关闭]
@llplmlyd 2023-06-28T16:17:11.000000Z 字数 2839 阅读 153

Haproxy部署与日志开启文档

Linux


3.9.1 创建haproxy运行账户和组,不允许haproxy用户直接登录系统

  1. # groupadd haproxy
  2. # useradd -g haproxy haproxy -s /bin/false

3.9.2安装依赖包

  1. # yum install -y gcc
  2. # yum install -y openssl openssl-devel systemd-devel.x86_64

3.9.3下载编译安装Haproxy

  1. # rz
  2. # tar zxvf haproxy-2.0.5.tar.gz
  3. # cd haproxy-2.0.5
  4. # uname -r
  5. 3.10.0-957.27.2.el7.x86_64
  6. # make TARGET=linux3100 CPU=x86_64 PREFIX=/usr/local/haprpxy USE_OPENSSL=1 USE_SYSTEMD=1 USE_PCRE=1 USE_ZLIB=1
  7. # make install PREFIX=/usr/local/haproxy

3.9.4 Haproxy 目录设置

  1. # mkdir -p /usr/local/haproxy/conf #创建配置文件目录
  2. # mkdir -p /etc/haproxy #创建配置文件目录
  3. # touch /usr/local/haproxy/conf/haproxy.cfg #创建配置文件
  4. # ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg #添加配置文件软连接
  5. # cp -r /home/service/app/haproxy-2.0.5/examples/errorfiles /usr/local/haproxy/errorfiles #拷贝错误页面
  6. # ln -s /usr/local/haproxy/errorfiles /etc/haproxy/errorfiles #添加软连接
  7. # mkdir -p /usr/local/haproxy/log #创建日志文件目录
  8. # touch /usr/local/haproxy/log/haproxy.log #创建日志文件
  9. # ln -s /usr/local/haproxy/log/haproxy.log /var/log/haproxy.log #添加软连接
  10. # ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy #添加软连接

3.9.5 手动配置haproxy.cfg

  1. # vim /etc/haproxy/haproxy.cfg
  2. # Global settings
  3. global
  4. log 127.0.0.1 local2
  5. chroot /usr/local/haproxy
  6. pidfile /var/run/haproxy.pid ###haproxy的pid存放路径,启动进程的用户必须有权限访问此文件
  7. maxconn 400000 ###最大连接数
  8. user haproxy
  9. group haproxy
  10. daemon ###创建1个进程进入deamon模式运行
  11. # turn on stats unix socket
  12. stats socket /usr/local/haproxy/stats
  13. # defaults settings
  14. defaults
  15. mode tcp
  16. log global
  17. retries 3
  18. option redispatch
  19. timeout queue 60m
  20. timeout client 60m #客户端超时
  21. timeout server 60m #服务器超时
  22. timeout check 120s
  23. timeout http-request 10s
  24. timeout http-keep-alive 120s
  25. timeout connect 60m #连接超时
  26. maxconn 30000
  27. listen admin_stats
  28. bind 0.0.0.0:2222
  29. mode http
  30. option httplog #采用 http 日志格式
  31. option dontlognull #禁用空连接记录
  32. maxconn 10 #默认的最大连接数
  33. stats enable
  34. stats refresh 30s #统计页面自动刷新时间
  35. stats uri /haproxy #统计页面 url
  36. stats realm Haproxy #统计页面密码框上提示文本
  37. stats auth admin:pingcap123 #设置监控页面的用户和密码: admin, 可以设置多个用户名
  38. stats hide-version #隐藏统计页面上 HAProxy 的版本信息
  39. stats admin if TRUE #设置手工启动 / 禁用,后端服务器 (haproxy-1.4.9 以后版本)
  40. # tidb-cluster settings
  41. listen tidb-cluster
  42. bind *:33066
  43. mode tcp
  44. balance roundrobin
  45. server tidb2-bjht8044 10.37.70.1:4000 check inter 2000 rise 2 fall 3
  46. server tidb1-bjht7600 10.37.64.2:4000 check inter 2000 rise 2 fall 3
  47. server tidb3-bjht8192 10.37.70.3:4000 check inter 2000 rise 2 fall 3

3.9.6 将haproxy注册到CentOS7的服务,启用systemctl命令控制

  1. # vim /usr/lib/systemd/system/haproxy.service
  2. [Unit]
  3. Description=HAProxy Load Balancer
  4. After=syslog.target network.target
  5. [Service]
  6. ExecStartPre=/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
  7. ExecStart=/usr/local/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
  8. ExecReload=/bin/kill -USR2 $MAINPID
  9. [Install]
  10. WantedBy=multi-user.target

激活服务

  1. # systemctl daemon-reload
  2. # systemctl enable haproxy
  3. # systemctl start haproxy

3.9.7 haproxy开启日志
修改/etc/rsyslog.conf:

  1. # vim /etc/rsyslog.conf
  2. $ModLoad imudp
  3. $UDPServerRun 514
  4. local2.* /var/log/haproxy.log

修改/etc/sysconfig/rsyslog:

  1. # vim /etc/sysconfig/rsyslog
  2. SYSLOGD_OPTIONS="-r -m 0 -c 2"

重启haproxy服务,并查看日志

  1. # systemctl restart haproxy
  2. # systemctl restart rsyslog
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注