我刚刚在我的测试服务器上安装了haproxy。
有没有办法让它将日志写入本地文件,而不是系统日志?
这仅用于测试,所以我不想开始打开端口/用我的所有测试数据弄乱系统日志。
不幸的是,我能找到的唯一信息都是关于登录到系统日志服务器的。
我尝试使用:
log /home/user/ha.log local0
Run Code Online (Sandbox Code Playgroud)
在我的配置中。但这告诉我:
[ALERT] 039/095022 (9528) : sendto logger #1 failed: No such file or directory (errno=2)
Run Code Online (Sandbox Code Playgroud)
当我重新启动。所以我创建了文件touch /home/user/ha.log
并重新启动,此时我得到:
[ALERT] 039/095055 (9593) : sendto logger #1 failed: Connection refused (errno=111)
Run Code Online (Sandbox Code Playgroud)
这是可能的,还是我必须配置 syslog 等才能查看我的测试数据?
我正在尝试使用 CentOS 7.5(64 位,内核 3.10)、HAProxy 1.8.13 和 systemd 设置简单的 Web 负载平衡。貌似HAProxy的配置没问题,但是启动应用就让人头疼。我用 init.d 试过一次,但后来被指向 systemd 方向,我目前卡在那里。一直在寻找原因近 2 天,我已经达到了 linux 的极限,我也无法在任何地方找到这种特殊行为的原因。大多数像这样的情况在 haproxy 配置中有一些问题,但显然不是这种情况。
HAProxy 配置文件验证输出
haproxy -f /etc/haproxy/haproxy.conf -c
Configuration file is valid
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 systemd 启动它时,我在 journalctl 中得到以下输出:
journalctl -u haproxy.service
Aug 13 17:07:50 localhost.localdomain systemd[1]: Starting HAProxy Load Balancer...
Aug 13 17:07:50 localhost.localdomain systemd[1]: Started HAProxy Load Balancer.
Aug 13 17:07:50 localhost.localdomain systemd[1]: haproxy.service holdoff time over, scheduling restart.
Aug 13 17:07:50 localhost.localdomain systemd[1]: Starting HAProxy Load Balancer...
Aug 13 17:07:50 …
Run Code Online (Sandbox Code Playgroud) 我需要运行几个 haproxy 实例,并且需要更新 haproxy.service 文件以添加第二个命令/实例。Google 引导我在同一个 ExecStart= 选项上添加第二个命令,用分号分隔,但这不起作用。
以下内容让我认为我可以使用额外的命令添加第二个 ExecStart= ,但这也不起作用。http://www.freedesktop.org/software/systemd/man/systemd.service.html
如何通过 systemd 服务运行两个 haproxy 实例?
原始命令
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid
Run Code Online (Sandbox Code Playgroud)
新命令
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid; ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy2.conf -p /var/run/haproxy2.pid
Run Code Online (Sandbox Code Playgroud)
第二次尝试
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy.conf -p /var/run/haproxy.pid
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -f /etc/haproxy2.conf -p /var/run/haproxy2.pid
Run Code Online (Sandbox Code Playgroud)
更新:这是我从服务 haproxy 状态得到的信息:
[root@lb01 ~]# service haproxy status
Redirecting to /bin/systemctl status haproxy.service
haproxy.service - HAProxy Load Balancer
Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled)
Active: inactive (dead) since Fri 2015-10-30 16:35:44 GMT; 6s ago
Process: 3221 ExecStart=/usr/local/sbin/haproxy-systemd-wrapper …
Run Code Online (Sandbox Code Playgroud)