我在机器 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
。