问题描述
安装了一个新的 Ubuntu 10.04 服务器并以 root 身份登录我使用 apt-get 安装了 haproxy。
我可以直接将 haproxy 作为守护进程运行,但是当我执行 /etc/init.d/haproxy start
时什么也没有发生……甚至没有错误消息。
netstat -a
显示没有任何东西在使用 http 端口 我正试图用 haproxy 来平衡……
想法?
编辑
-
我注意到
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:~#
最佳思路
编辑 /etc/default/haproxy
并确保其中有一行写着 ENABLED=1
。
默认值为 ENABLED=0。这样做是因为 haproxy 没有健全的默认配置,所以你需要先配置它,然后启用它。
次佳思路
我遇到了同样的问题,由于 “test” 线总是失败,因此设置 ENABLED 不起作用。找到原因:你必须编辑 /etc/default/haproxy
而不是 init 脚本。
第三种思路
我知道这是一个一年前的线程..但只是想分享我所学到的..
使用 /etc/init.d/haproxy reload
或 service haproxy reload
,它会重新加载好.. 毕竟我们只是希望它正确启动;)