問題描述
安裝了一個新的 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
,它會重新加載好.. 畢竟我們隻是希望它正確啟動;)