haproxy не запускается

Устанавливает новый сервер 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:~#
20
задан 1 December 2010 в 07:57

64 ответа

Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Однако при использовании sudo перед ними, используя файл по умолчанию haproxy.cfg от установки, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.

2
ответ дан 25 July 2018 в 22:49

Я знаю, что это годовая нить .. но просто пытаюсь поделиться тем, что я узнал ..

использовать /etc/init.d/haproxy reload или service haproxy reload, и он перезагрузится нормально .. после всего мы просто хотим этого начать правильно;)

3
ответ дан 25 July 2018 в 22:49

Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.

2
ответ дан 25 July 2018 в 22:49
  • 1
    Я бы хотел, чтобы это по крайней мере дважды. – Balázs Mária Németh 2 March 2015 в 16:53

У меня была такая же проблема, когда установка ENABLED не имела эффекта из-за того, что строка «тест» всегда терпит неудачу. Нашел причину: вы должны отредактировать /etc/default/haproxy вместо сценария init.

3
ответ дан 25 July 2018 в 22:49

Ran в ту же проблему на лазуре с debian vm. Оказывается, это довольно просто. В скрипте init для haproxy используются зависимости времени выполнения. В более старой системе обновление-rc.d было возможным, но в новой системе используется insserv: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot

Итак, если вы использовали update-rc .d, чтобы добавить службу haproxy в более новые системы, вы должны сделать:

$ sudo update-rc.d -f haproxy remove

$ sudo insserv haproxy

0
ответ дан 25 July 2018 в 22:49

Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED=1, определенный в скрипте init.

В конце концов, немного посмотрев вниз, Посмотрим, что /etc/default/haproxy-file получен непосредственно перед выполнением теста, таким образом перезаписывая заданную переменную в самом скрипте init ...

0
ответ дан 25 July 2018 в 22:49

Измените /etc/default/haproxy и убедитесь, что у него есть строка, в которой написано ENABLED=1.

По умолчанию ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.

39
ответ дан 25 July 2018 в 22:49
  • 1
    Я установил ENABLED = 1, еще ничего. – Assaf Lavie 30 November 2010 в 23:00
  • 2
    Assaf, вам все равно нужно настроить haproxy. Если файл конфигурации неверен, он не запустится и, вероятно, напечатал ошибки в системных журналах (проверьте /var/log/daemon.log и / var / log / syslog) – SpamapS 4 December 2010 в 12:50
  • 3
    Почему это не начинается без подробного сообщения? Это действительно сбивает с толку! – Nikolay Fominyh 10 May 2012 в 16:59
  • 4
    @ НиколаяФоминых Согласен, это сбивает с толку! Я в конечном итоге нахожу эту тему снова и снова, потому что каждые 8 ​​месяцев или около того мне приходится настраивать новый haproxy, и я всегда забываю о необходимости включения сервисов в / etc / default / *. Я хочу, чтобы что-то всплыло в syslog, когда вы пытаетесь запустить отключенную службу. – Jay Taylor 10 July 2013 в 22:52

Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.

Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.

Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.

Надеюсь, это поможет кому угодно.

1
ответ дан 25 July 2018 в 22:49
  • 1
    SiBaz, не уверен, какую версию Ubuntu вы используете, но в Lucid, в системе, о которой идет речь, сетевые сети запускаются с помощью выскочки перед переходом rc-sysinit на уровень запуска по умолчанию (2), что и запускает / etc / rc2 .d скриптов. – SpamapS 14 December 2010 в 04:28
  • 2
    Я тоже использую ясность, и я могу заверить, что сетевое взаимодействие не началось, когда haproxy был запущен через rc2.d /../ init.d / haproxy. Я также заметил, что то, что я предложил, не сработало, поэтому мне пришлось добавить сети к уровням rc 2 3 4 5, чтобы начать работу до haproxy, запуск сети update-rc.d 35 2 3 4 5. Я понимаю, что это взломать, так как решением будет добавить скрипт выскочки. Я создал ошибку с пакетом haproxy, чтобы яснить в этом отношении. – user 20 December 2010 в 19:13
  • 3
    Я думаю, вы должны установить флаг enabled в / etc / default / haproxy – UpTheCreek 14 January 2013 в 02:06

Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Однако при использовании sudo перед ними, используя файл по умолчанию haproxy.cfg от установки, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.

2
ответ дан 31 July 2018 в 11:38

Я знаю, что это годовая нить .. но просто пытаюсь поделиться тем, что я узнал ..

использовать /etc/init.d/haproxy reload или service haproxy reload, и он перезагрузится нормально .. после всего мы просто хотим этого начать правильно;)

3
ответ дан 31 July 2018 в 11:38

Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.

2
ответ дан 31 July 2018 в 11:38
  • 1
    Я бы хотел, чтобы это по крайней мере дважды. – Balázs Mária Németh 2 March 2015 в 16:53

У меня была такая же проблема, когда установка ENABLED не имела эффекта из-за того, что строка «тест» всегда терпит неудачу. Нашел причину: вы должны отредактировать /etc/default/haproxy вместо сценария init.

3
ответ дан 31 July 2018 в 11:38

Ran в ту же проблему на лазуре с debian vm. Оказывается, это довольно просто. В скрипте init для haproxy используются зависимости времени выполнения. В более старой системе обновление-rc.d было возможным, но в новой системе используется insserv: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot

Итак, если вы использовали update-rc .d, чтобы добавить службу haproxy в более новые системы, вы должны сделать:

$ sudo update-rc.d -f haproxy remove

$ sudo insserv haproxy

0
ответ дан 31 July 2018 в 11:38

Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED=1, определенный в скрипте init.

В конце концов, немного посмотрев вниз, Посмотрим, что /etc/default/haproxy-file получен непосредственно перед выполнением теста, таким образом перезаписывая заданную переменную в самом скрипте init ...

0
ответ дан 31 July 2018 в 11:38

Измените /etc/default/haproxy и убедитесь, что у него есть строка, в которой написано ENABLED=1.

По умолчанию ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.

39
ответ дан 31 July 2018 в 11:38
  • 1
    Я установил ENABLED = 1, еще ничего. – Assaf Lavie 30 November 2010 в 23:00
  • 2
    Assaf, вам все равно нужно настроить haproxy. Если файл конфигурации неверен, он не запустится и, вероятно, напечатал ошибки в системных журналах (проверьте /var/log/daemon.log и / var / log / syslog) – SpamapS 4 December 2010 в 12:50
  • 3
    Почему это не начинается без подробного сообщения? Это действительно сбивает с толку! – Nikolay Fominyh 10 May 2012 в 16:59
  • 4
    @ НиколаяФоминых Согласен, это сбивает с толку! Я в конечном итоге нахожу эту тему снова и снова, потому что каждые 8 ​​месяцев или около того мне приходится настраивать новый haproxy, и я всегда забываю о необходимости включения сервисов в / etc / default / *. Я хочу, чтобы что-то всплыло в syslog, когда вы пытаетесь запустить отключенную службу. – Jay Taylor 10 July 2013 в 22:52

Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.

Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.

Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.

Надеюсь, это поможет кому угодно.

1
ответ дан 31 July 2018 в 11:38
  • 1
    SiBaz, не уверен, какую версию Ubuntu вы используете, но в Lucid, в системе, о которой идет речь, сетевые сети запускаются с помощью выскочки перед переходом rc-sysinit на уровень запуска по умолчанию (2), что и запускает / etc / rc2 .d скриптов. – SpamapS 14 December 2010 в 04:28
  • 2
    Я тоже использую ясность, и я могу заверить, что сетевое взаимодействие не началось, когда haproxy был запущен через rc2.d /../ init.d / haproxy. Я также заметил, что то, что я предложил, не сработало, поэтому мне пришлось добавить сети к уровням rc 2 3 4 5, чтобы начать работу до haproxy, запуск сети update-rc.d 35 2 3 4 5. Я понимаю, что это взломать, так как решением будет добавить скрипт выскочки. Я создал ошибку с пакетом haproxy, чтобы яснить в этом отношении. – user 20 December 2010 в 19:13
  • 3
    Я думаю, вы должны установить флаг enabled в / etc / default / haproxy – UpTheCreek 14 January 2013 в 02:06

Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Однако при использовании sudo перед ними, используя файл по умолчанию haproxy.cfg от установки, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.

2
ответ дан 2 August 2018 в 04:13

Я знаю, что это годовая нить .. но просто пытаюсь поделиться тем, что я узнал ..

использовать /etc/init.d/haproxy reload или service haproxy reload, и он перезагрузится нормально .. после всего мы просто хотим этого начать правильно;)

3
ответ дан 2 August 2018 в 04:13

Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.

2
ответ дан 2 August 2018 в 04:13
  • 1
    Я бы хотел, чтобы это по крайней мере дважды. – Balázs Mária Németh 2 March 2015 в 16:53

У меня была такая же проблема, когда установка ENABLED не имела эффекта из-за того, что строка «тест» всегда терпит неудачу. Нашел причину: вы должны отредактировать /etc/default/haproxy вместо сценария init.

3
ответ дан 2 August 2018 в 04:13

Ran в ту же проблему на лазуре с debian vm. Оказывается, это довольно просто. В скрипте init для haproxy используются зависимости времени выполнения. В более старой системе обновление-rc.d было возможным, но в новой системе используется insserv: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot

Итак, если вы использовали update-rc .d, чтобы добавить службу haproxy в более новые системы, вы должны сделать:

$ sudo update-rc.d -f haproxy remove

$ sudo insserv haproxy

0
ответ дан 2 August 2018 в 04:13

Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED=1, определенный в скрипте init.

В конце концов, немного посмотрев вниз, Посмотрим, что /etc/default/haproxy-file получен непосредственно перед выполнением теста, таким образом перезаписывая заданную переменную в самом скрипте init ...

0
ответ дан 2 August 2018 в 04:13

Измените /etc/default/haproxy и убедитесь, что у него есть строка, в которой написано ENABLED=1.

По умолчанию ENABLED = 0. Это делается потому, что haproxy не имеет нормальной настройки по умолчанию, поэтому вам нужно сначала настроить его, а затем включить.

39
ответ дан 2 August 2018 в 04:13
  • 1
    Я установил ENABLED = 1, еще ничего. – Assaf Lavie 30 November 2010 в 23:00
  • 2
    Assaf, вам все равно нужно настроить haproxy. Если файл конфигурации неверен, он не запустится и, вероятно, напечатал ошибки в системных журналах (проверьте /var/log/daemon.log и / var / log / syslog) – SpamapS 4 December 2010 в 12:50
  • 3
    Почему это не начинается без подробного сообщения? Это действительно сбивает с толку! – Nikolay Fominyh 10 May 2012 в 16:59
  • 4
    @ НиколаяФоминых Согласен, это сбивает с толку! Я в конечном итоге нахожу эту тему снова и снова, потому что каждые 8 ​​месяцев или около того мне приходится настраивать новый haproxy, и я всегда забываю о необходимости включения сервисов в / etc / default / *. Я хочу, чтобы что-то всплыло в syslog, когда вы пытаетесь запустить отключенную службу. – Jay Taylor 10 July 2013 в 22:52

Я просто столкнулся с той же проблемой с haproxy init.d скриптом на lucid. Я просто не мог запустить haproxy, поэтому я просмотрел его и обнаружил, что вам нужно изменить переменную ENABLED в сценарии /etc/init.d/haproxy.

Изменение этой переменной, однако, не помогло, и вот почему: несколько строк ниже в /etc/init.d/haproxy переменная ENABLED проверяется скриптом со следующей строкой: test "$ ENABLED "! =" 0 "|| exit 0. Я заметил, что этот тест ВСЕГДА потерпит неудачу в моей системе, а не то, что значение ENABLED. Таким образом, остальная часть скрипта никогда не запускается.

Должен признаться, я действительно не знаю, почему эта тестовая строка работает неправильно. Но так как мы хотим, чтобы haproxy был включен в любом случае, зачем беспокоиться о проверке? ... Комментируя эту тестовую линию, она работала для меня.

Надеюсь, это поможет кому угодно.

1
ответ дан 2 August 2018 в 04:13
  • 1
    SiBaz, не уверен, какую версию Ubuntu вы используете, но в Lucid, в системе, о которой идет речь, сетевые сети запускаются с помощью выскочки перед переходом rc-sysinit на уровень запуска по умолчанию (2), что и запускает / etc / rc2 .d скриптов. – SpamapS 14 December 2010 в 04:28
  • 2
    Я тоже использую ясность, и я могу заверить, что сетевое взаимодействие не началось, когда haproxy был запущен через rc2.d /../ init.d / haproxy. Я также заметил, что то, что я предложил, не сработало, поэтому мне пришлось добавить сети к уровням rc 2 3 4 5, чтобы начать работу до haproxy, запуск сети update-rc.d 35 2 3 4 5. Я понимаю, что это взломать, так как решением будет добавить скрипт выскочки. Я создал ошибку с пакетом haproxy, чтобы яснить в этом отношении. – user 20 December 2010 в 19:13
  • 3
    Я думаю, вы должны установить флаг enabled в / etc / default / haproxy – UpTheCreek 14 January 2013 в 02:06

Вы пытались запустить его как root или sudo? Если вы похожи на меня, вы иногда забываете добавлять sudo к фронту команд. Я пробовал все ваши команды без sudo, и они не сработали, как вы описали. Тем не менее, с sudo перед ними, используя установочный файл haproxy.cfg по умолчанию, он теперь работает без проблем. Просто подумал, что я бы указал, что даже с правильными конфигами, для меня это не обойдется без sudo.

2
ответ дан 4 August 2018 в 20:17

Я знаю это год назад, но просто пытаюсь поделиться тем, что я узнал ..

использовать /etc/init.d/haproxy reload или service haproxy reload , и он перезагрузится. После этого мы просто хотим, чтобы он начал правильно;)

3
ответ дан 4 August 2018 в 20:17

Я столкнулся с этой же проблемой после первой установки поддерживаемого Ubuntu пакета, а затем (после того, как версия не поддерживала нужную мне функцию). Установка версии haproxy ppa newer. Сценарий init.d, с которым я столкнулся, указал на / usr / sbin / haproxy, когда на самом деле мой исполняемый файл был в / usr / local / sbin / haproxy. отладочный вывод «sh -xv /etc/init.d/haproxy start», упомянутый ранее, сделал эту проблему довольно очевидной.

2
ответ дан 4 August 2018 в 20:17

У меня была такая же проблема, когда установка ENABLED не имела эффекта из-за того, что строка «тест» всегда терпит неудачу. Нашел причину: вы должны отредактировать / etc / default / haproxy вместо сценария init.

3
ответ дан 4 August 2018 в 20:17

В этой же проблеме возникла проблема на лазуре с 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

0
ответ дан 4 August 2018 в 20:17

Я также продолжал смотреть на scipt, не мог понять, почему он не работал, несмотря на ENABLED = 1 , определенный внутри скрипта инициализации.

В конце концов, после немного посмотрев вниз, вы увидите, что файл / etc / default / haproxy создан непосредственно перед выполнением теста, тем самым перезаписывая заданную переменную в самом сценарии инициализации ...

0
ответ дан 4 August 2018 в 20:17

Другие вопросы по тегам:

Похожие вопросы: