安装了新的 Ubuntu 10.04 服务器并以 root 身份登录,我使用 apt-get 安装了 haproxy。
我可以直接将 haproxy 作为守护进程运行,但是当我执行/etc/init.d/haproxy start
任何操作时什么也没有发生,甚至没有错误消息。
netstat -a
显示没有任何东西在使用我正在尝试用 haproxy 来平衡的 http 端口......
有想法吗?
编辑
我注意到
apt-get install haproxy
最后这么说:update-rc.d:警告:/etc/init.d/haproxy 缺少 LSB 信息 update-rc.d:参见http://wiki.debian.org/LSBInitScripts
/etc/default/haproxy
说ENABLED=1
调试输出sh -xv /etc/init.d/haproxy start
#!/bin/sh
#
# chkconfig: - 85 15
# description: HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited \
# for high availability environments.
# processname: haproxy
# config: /etc/haproxy.cfg
# pidfile: /var/run/haproxy.pid
# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
+ [ -f /etc/init.d/functions ]
+ [ -f /etc/rc.d/init.d/functions ]
+ exit 0
root@li267-63:~#
答案1
编辑/etc/default/haproxy
并确保其中有一行内容ENABLED=1
。
默认值为 ENABLED=0。这样做是因为 haproxy 没有合理的默认配置,因此您需要先配置它,然后启用它。
答案2
我遇到了同样的问题,由于“测试”行总是失败,设置 ENABLED 无效。找到原因了:您必须编辑/etc/default/haproxy
而不是 init 脚本。
答案3
我知道这是一个一年前的帖子...但只是想分享我所学到的知识..
使用/etc/init.d/haproxy reload
或service haproxy reload
它将重新加载..毕竟我们只是希望它正确启动;)
答案4
我在第一次安装 ubuntu 维护的软件包后遇到了同样的问题,然后(在意识到该版本不支持我需要的功能后)安装了 ppa 较新版本的 haproxy。我最终得到的 init.d 脚本指向 /usr/sbin/haproxy,而实际上我的可执行文件位于 /usr/local/sbin/haproxy。前面提到的调试输出“sh -xv /etc/init.d/haproxy start”使这个问题非常明显。