Устанавливает новый сервер 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:~#
Измените / etc / default / haproxy
и убедитесь, что в нем есть строка, в которой указано ENABLED = 1
.
Значение по умолчанию - ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.
Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.
Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.
Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.
Надеюсь, это поможет кому угодно.
Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED = 1
, определенный внутри скрипта инициализации.
В конце концов, после немного посмотрев вниз, вы увидите, что файл / etc / default / haproxy
создан непосредственно перед выполнением теста, тем самым перезаписывая заданную переменную в самом сценарии инициализации ...
Измените / etc / default / haproxy
и убедитесь, что в нем есть строка, в которой указано ENABLED = 1
.
Значение по умолчанию - ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.
Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.
Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.
Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.
Надеюсь, это поможет кому угодно.
У меня была такая же проблема, когда установка 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
Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Тем не менее, с sudo перед ними, используя установочный файл haproxy.cfg
по умолчанию, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.
Я знаю это год назад, но просто пытаюсь поделиться тем, что я узнал ..
использовать /etc/init.d/haproxy reload
или service haproxy reload
, и он перезагрузится. После этого мы просто хотим, чтобы он начал правильно;)
Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.
Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED = 1
, определенный внутри скрипта инициализации.
В конце концов, после немного посмотрев вниз, вы увидите, что файл / etc / default / haproxy
создан непосредственно перед выполнением теста, тем самым перезаписывая заданную переменную в самом сценарии инициализации ...
Измените / etc / default / haproxy
и убедитесь, что в нем есть строка, в которой указано ENABLED = 1
.
Значение по умолчанию - ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.
Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.
Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.
Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.
Надеюсь, это поможет кому угодно.
В этой же проблеме возникла проблема на лазуре с 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
У меня была такая же проблема, когда установка ENABLED не имела эффекта из-за того, что строка «тест» всегда терпит неудачу. Нашел причину: вы должны отредактировать / etc / default / haproxy
вместо сценария init.
Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Тем не менее, с sudo перед ними, используя установочный файл haproxy.cfg
по умолчанию, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.
Я знаю это год назад, но просто пытаюсь поделиться тем, что я узнал ..
использовать /etc/init.d/haproxy reload
или service haproxy reload
, и он перезагрузится. После этого мы просто хотим, чтобы он начал правильно;)
Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.
Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.
Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.
Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.
Надеюсь, это поможет кому угодно.
Измените / etc / default / haproxy
и убедитесь, что в нем есть строка, в которой указано ENABLED = 1
.
Значение по умолчанию - ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.
Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED = 1
, определенный внутри скрипта инициализации.
В конце концов, после немного посмотрев вниз, вы увидите, что файл / etc / default / haproxy
создан непосредственно перед выполнением теста, тем самым перезаписывая заданную переменную в самом сценарии инициализации ...
У меня была такая же проблема, когда установка 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
Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.
Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Тем не менее, с sudo перед ними, используя установочный файл haproxy.cfg
по умолчанию, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.
Я знаю это год назад, но просто пытаюсь поделиться тем, что я узнал ..
использовать /etc/init.d/haproxy reload
или service haproxy reload
, и он перезагрузится. После этого мы просто хотим, чтобы он начал правильно;)
Измените / etc / default / haproxy
и убедитесь, что в нем есть строка, в которой указано ENABLED = 1
.
Значение по умолчанию - ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.
У меня аналогичная проблема. Я уже установил ENABLED = 1, но настройка update-rc.d по умолчанию состоит в том, чтобы поместить haproxy в K20 (rc0 | 1 | 6.d) и в S20 (rc2 | 3 | 4 | 5.d). Это означает, что он попытается начать работу до сети, поэтому в моем случае я получаю это в boot.log: -
* Запуск haproxy haproxy [ALERT] 346/160552 (927): Запуск прокси-сервера haproxy: невозможно связать socket [ALERT] 346/160552 (927): запуск прокси-сервера haproxy: невозможно связать сокет [ALERT] 346/160552 (927): запуск прокси-сервера haproxy: невозможно связать сокет [ALERT] 346/160552 (927): запуск прокси-сервера haproxy: невозможно связать сокет [ALERT] 346/160552 (927): Запустить прокси-сервер: не удается связать сокет [ALERT] 346/160552 (927): Запустить прокси-сервер: не удается связать сокет [ALERT] 346/160552 (927): Запустить прокси-сервер haproxy: не может связать сокет [fail]
, изменяя номер запуска до 35, кажется, исправил его, но я думаю, что 36 будет более безопасным (старый номер для сети - 35, поэтому лучше всего начинать после этого). Поэтому попробуйте: -
update-rc.d -f haproxy удалить update-rc.d haproxy start 35 2 3 4 5. остановка 20 0 1 6.
Затем перезагрузитесь, и он должен сортировать его. Составители пакетов действительно должны были подумать об этом.
Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Тем не менее, с sudo перед ними, используя установочный файл haproxy.cfg
по умолчанию, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.
Я знаю это год назад, но просто пытаюсь поделиться тем, что я узнал ..
использовать /etc/init.d/haproxy reload
или service haproxy reload
, и он перезагрузится. После этого мы просто хотим, чтобы он начал правильно;)