在同一台机器上运行两个 haproxy 实例

在同一台机器上运行两个 haproxy 实例

我在机器 A 上运行 haproxy。我如何创建它的另一个实例?(有自己的配置文件)。我尝试在 /etc/ 中使用不同的名称复制 haproxy,并将其添加到 init.d,但没有成功,有什么想法吗?

答案1

您必须复制 /etc/haproxy/haproxy.cfg。

cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy_s.cfg

确保此副本中前端没有任何冲突的端口。此时,您可以通过发出以下命令手动启动 haproxy。

/usr/sbin/haproxy -D -f /etc/haproxy/haproxy_s.cfg -p /var/run/haproxy_s.pid
  • -D将以守护进程模式启动 haproxy
  • -F是配置文件的路径
  • -p是 pidfile 的路径

如果您想通过 init 脚本启动 haproxy 的新实例或在系统启动期间加载它,您需要先复制 init 脚本。

cp /etc/init.d/haproxy /etc/init.d/haproxy_s

除此之外,您还需要创建到 haproxy 二进制文件的符号链接。

ln -s /usr/sbin/haproxy /usr/sbin/haproxy_s

之后,您需要对 /etc/init.d/haproxy_s 进行以下更改

exec="/usr/sbin/haproxy_s"
cfgfile=/etc/haproxy/haproxy_s.cfg
pidfile=/var/run/haproxy_s.pid
lockfile=/var/lock/subsys/haproxy_s

我已经在 RHEL 6 安装中测试了此配置。只要其他 Linux 发行版使用 init 系统,只需稍加修改即可将该解决方案移植到这些发行版。

答案2

什么地方出了问题?有错误吗?日志里有什么东西吗?

您需要做的是复制配置文件,并进行一些更改。

一旦端口被服务绑定,该端口就不能再被其他服务绑定,直到发布。您需要在新的配置文件中更改端口绑定,然后使用 指定新的配置文件来启动它-f

相关内容