Linux基础
1 基础知识
1.1 软件的介绍
– HAProxy是一款开源免费、快速、可靠的解决方案
– HAProxy是基于TCP和HTTP协议提供高可用、负载均衡和代理服务
1.2 软件的功能
– 负载均衡
– 高可用
– 代理服务
2 最佳实践
2.1 准备安装环境
2.1.1 系统的基本配置
HostName = haproxy.cmdschool.org
OS = Oracle Linux 9.x x86_64
IPAddress = any
2.1.2 系统的基本配置
2.2 安装配置HAProxy
2.2.1 安装软件包
dnf install -y haproxy
2.2.2 启动会服务并设置服务自启动
systemctl start haproxy.service systemctl enable haproxy.service
服务启动后,你需要使用如下命令查看服务器的状态,
systemctl status haproxy.service
然后,你可以使用如下命令查看启动的进程,
pgrep -u haproxy haproxy -a
可见如下输出,
/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf.d -p /run/haproxy.pid
然后,你可以使用如下命令查看倾听的端口,
netstat -antp | grep `pgrep -u haproxy haproxy`
可见如下显示,
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 5271/haproxy
2.2.3 简化配置文件
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.default vim /etc/haproxy/haproxy.cfg
清理包含范例的配置,简化后的配置如下,
global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats ssl-default-bind-ciphers PROFILE=SYSTEM ssl-default-server-ciphers PROFILE=SYSTEM defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000
2.3.4 重载服务使配置生效
systemctl reload haproxy.service
2.3 配置HAProxy的日志参数
2.3.1 修改HAProxy的默认配置文件
vim /etc/haproxy/haproxy.cfg
检查以下行处于启动状态,
log 127.0.0.1 local2
2.3.2 重启服务使配置生效
systemctl restart haproxy.service
2.4 配置rsyslog参数
2.4.1 修改日志配置
vim /etc/rsyslog.conf
启用如下配置,
$ModLoad imudp $UDPServerAddress 127.0.0.1 $UDPServerRun 514
然后,你还需要加入如下日志定义,
echo 'local2.* /var/log/haproxy/haproxy.log' > /etc/rsyslog.d/haproxy.conf
根据以上配置的需求,我们使用如下命令创建日志目录,
mkdir -p /var/log/haproxy/ chown haproxy:haproxy -R /var/log/haproxy/ chmod 775 -R /var/log/haproxy/
2.4.2 重启服务使配置生效
systemctl restart rsyslog.service
然后,你可以使用如下命令查看倾听的端口,
netstat -W -neopa | grep 514 | grep udp
可见如下显示,
udp 0 0 127.0.0.1:514 0.0.0.0:* 0 54619 6028/rsyslogd off (0.00/0/0)
2.5 配置循环日志
vim /etc/logrotate.d/haproxy
配置修改如下,
/var/log/haproxy/haproxy.log { daily rotate 10 missingok notifempty compress sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true endscript }
参阅文档
===================
官方文档
————————
https://www.haproxy.org/
日志配置文档
——————
https://serverfault.com/questions/645924/haproxy-logging-to-syslog
没有评论