Устанавливает новый сервер Ubuntu 10.04 и входит в систему как root. Я установил haproxy с помощью apt-get.
Я могу запускать haproxy напрямую как демон, но когда я делаю /etc/init.d/haproxy start, ничего не происходит .. даже не сообщение об ошибке.
netstat -a ничего не показывает порт http, который я пытаюсь сбалансировать с помощью haproxy ...
Идеи?
Изменить [ ! d4] Я заметил, что apt-get install haproxy говорит об этом в конце: update-rc.d: warning: /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:~#
Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.
У меня была такая же проблема, когда установка ENABLED не имела эффекта из-за того, что строка «тест» всегда терпит неудачу. Нашел причину: вы должны отредактировать / etc / default / haproxy
вместо сценария init.
В этой же проблеме возникла проблема на лазуре с debian vm. Оказывается, это довольно просто. В скрипте init для haproxy используются зависимости времени выполнения. В старой системе update-rc.d был способ, но в новой системе используется insserv: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
So если вы использовали update-rc.d для добавления службы haproxy в более новые системы, вы должны сделать:
$ sudo update-rc.d -f haproxy remove
$ sudo insserv HAProxy
Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED = 1
, определенный внутри скрипта инициализации.
В конце концов, после немного посмотрев вниз, вы увидите, что файл / etc / default / haproxy
создан непосредственно перед выполнением теста, тем самым перезаписывая заданную переменную в самом сценарии инициализации ...