socat 在 ubuntu 20.04 上缺少 haproxy 的命令

socat 在 ubuntu 20.04 上缺少 haproxy 的命令

我已经安装了 haproxy 2.6.6、socat 1.7.4.1,并且有一个可运行的 Exchange 负载均衡器。我希望能够关闭某个节点进行维护,但尝试使用 socat 执行此操作但没有成功。

在我的 haproxy.cfg 全局部分中我有:

stats socket /run/haproxy-master.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon

当我使用此命令时

echo "disable server exch01" | sudo socat stdio unix-connect:/run/haproxy-master.sock

我明白了

unknown command, but maybe one of the following ones is a better match:
show cli level,
show cli sockets,
show proc,
show version,
help,
prompt,
quit

通过发送show cli level它返回管理员

如果我使用 sudo 以 root 身份运行,我会得到更多命令,例如

@master,
@!,
@,
operator,
reload,
user,
prompt

但是我错过了禁用服务器等

所以它看起来像是一个权限问题,并且由于我是root,它可能与haproxy中统计套接字的启动有关?

我已经尝试了一切

答案1

我没有使用 Ubuntu 上的 sudo update install haproxy 来安装 haproxy,而是下载了最新版本的 haproxy(当时是 2.6.6),然后手动安装。这是一个糟糕的决定

该版本没有安装socat所需的/run/haproxy/admin.sock。

我重新开始并从 Ubuntu 安装,并且一切都正常运行。

可能是可下载版本中缺少一些库或我错过了一些先决条件任务。

相关内容