Установил новый сервер Ubuntu 10.04 и вошел в систему как пользователь root. Я установил haproxy с помощью apt-get.
Я могу запустить 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 не имеет нормальной конфигурации по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.
источник
У меня была та же проблема, когда настройка ENABLED не имела никакого эффекта из-за того, что строка «test» всегда терпела неудачу. Нашел причину: надо редактировать
/etc/default/haproxy
вместо сценария инициализации.источник
Я знаю это годичную ветку .. но просто пытаюсь поделиться тем, что я узнал ..
используйте
/etc/init.d/haproxy reload
илиservice haproxy reload
и он перезагрузится нормально .. в конце концов мы просто хотим, чтобы все началось правильно;)источник
У меня похожая проблема. Я уже установил ENABLED = 1, но конфигурация update-rc.d по умолчанию, похоже, помещает haproxy в K20 (rc0 | 1 | 6.d) и в S20 (rc2 | 3 | 4 | 5.d). Это означает, что он попытается запустить перед подключением к сети, поэтому в моем случае я получаю это в boot.log: -
изменение номера запуска на 35, кажется, исправит это, но я думаю, что 36 будет безопаснее (старое число для сети было 35, поэтому лучше начать его после этого). Поэтому постарайтесь:-
Затем перезагрузите компьютер, и он должен разобраться. Разработчики пакетов действительно должны были подумать об этом.
источник
Я столкнулся с этой же проблемой после первой установки поддерживаемого пакета ubuntu, а затем (после того, как версия не поддерживает нужную мне функцию), установил более новую версию haproxy для ppa. Сценарий init.d, с которым я столкнулся, указывал на / usr / sbin / haproxy, хотя фактически мой исполняемый файл находился в / usr / local / sbin / haproxy. упомянутый ранее отладочный вывод "sh -xv /etc/init.d/haproxy start" сделал эту проблему довольно очевидной.
источник
Вы пытались запустить его как root или с помощью sudo? Если вы похожи на меня, вы иногда забываете добавить sudo в начало команд. Я попробовал все ваши команды без sudo, и они потерпели неудачу, как вы описали. Тем не менее, с sudo перед ними, используя
haproxy.cfg
файл по умолчанию из установки, теперь он работает без проблем. Просто подумал, что укажу, что даже с правильными конфигами, для меня это не обойдется без sudo.источник
Я только что столкнулся с той же проблемой со скриптом haproxy init.d на lucid. Я просто не смог запустить haproxy, поэтому я посмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в скрипте /etc/init.d/haproxy.
Однако изменение этой переменной НЕ помогло, и вот почему: на несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется сценарием со следующей строкой: test "$ ENABLED"! = "0" || выход 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, независимо от значения ENABLED. Таким образом, остальная часть сценария никогда не запускается.
Я должен признать, что я действительно не знаю, почему эта тестовая линия не работает должным образом. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментирование этой тестовой строки заставило меня работать.
Надеюсь, это кому-нибудь поможет.
источник
Я также продолжал пялиться на Скипа, не мог понять, почему он не работает, несмотря на
ENABLED=1
определено в сценарии инициализации.В конце концов, немного посмотрев вниз, вы увидите, что
/etc/default/haproxy-file
источник получен непосредственно перед выполнением теста, таким образом, перезаписывая переменную set в самом init-скрипте ...источник
Столкнулся с той же проблемой на лазурном с Debian VM. Оказывается довольно просто. Сценарий инициализации haproxy использует зависимости времени выполнения. На старой системе update-rc.d был подходящим вариантом, но на более новой системе используется insserv: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
Так что, если вы использовали update-rc.d для добавления службы haproxy в более новых системах, вы должны сделать:
$ sudo update-rc.d -f haproxy удалить
$ sudo insserv haproxy
источник