Zainstalowałem nowy serwer Ubuntu 10.04 i logując się jako root Zainstalowałem haproxy za pomocą apt-get.
Mogę uruchamiać haproxy bezpośrednio jako demon, ale kiedy /etc/init.d/haproxy start
nic nie robię , nawet nie pojawia się komunikat o błędzie.
netstat -a
pokazuje, że nic nie używa portu http, który próbuję zrównoważyć z haproxy ...
Pomysły?
Edytować
Zauważyłem,
apt-get install haproxy
że w końcu to mówi:update-rc.d: ostrzeżenie: /etc/init.d/haproxy brak informacji o LSB update-rc.d: patrz http://wiki.debian.org/LSBInitScripts
/etc/default/haproxy
mówiENABLED=1
Wyjście debugujące dla 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:~#
Odpowiedzi:
Edytuj
/etc/default/haproxy
i upewnij się, że ma w nim wierszENABLED=1
.Wartość domyślna to ENABLED = 0. Dzieje się tak, ponieważ haproxy nie ma rozsądnej domyślnej konfiguracji, więc musisz go najpierw skonfigurować, a następnie włączyć.
źródło
Miałem ten sam problem, w którym ustawienie WŁĄCZONE nie miało żadnego efektu, ponieważ linia „test” zawsze zawodziła. Znalazłem powód: musisz edytować
/etc/default/haproxy
zamiast skryptu inicjującego.źródło
Wiem, że to roczny wątek .. ale po prostu próbuję podzielić się tym, czego się nauczyłem ..
użyj
/etc/init.d/haproxy reload
lub,service haproxy reload
a przeładuje się dobrze .. w końcu chcemy, żeby zaczęło się dobrze;)źródło
Mam podobny problem. Już ustawiłem ENABLED = 1, ale domyślna konfiguracja update-rc.d wydaje się umieszczać haproxy w K20 (rc0 | 1 | 6.d) i w S20 (rc2 | 3 | 4 | 5.d). Co oznacza, że spróbuje uruchomić się przed podłączeniem do sieci, więc w moim przypadku otrzymuję to w boot.log: -
zmiana numeru startowego na 35 wydaje się to naprawiać, ale myślę, że 36 byłoby bezpieczniejsze (stary numer w sieci to 35, więc najlepiej zacząć od tego później). Więc spróbuj:-
Następnie uruchom ponownie i powinno to posortować. Opiekunowie pakietów naprawdę powinni o tym pomyśleć.
źródło
Natknąłem się na ten sam problem po pierwszej instalacji pakietu utrzymywanego na Ubuntu, a następnie (po uświadomieniu sobie, że wersja nie obsługuje potrzebnej mi funkcji) Instalowanie ppa nowszej wersji haproxy. Skrypt init.d, który zakończyłem, wskazywał na / usr / sbin / haproxy, gdy w rzeczywistości mój plik wykonywalny znajdował się w / usr / local / sbin / haproxy. wspomniane wcześniej wyjście debugowania „sh -xv /etc/init.d/haproxy start” uczyniło ten problem dość oczywistym.
źródło
Czy próbowałeś uruchomić go jako root, czy sudo? Jeśli jesteś podobny do mnie, czasami zapominasz dodać sudo z przodu poleceń. Wypróbowałem wszystkie twoje polecenia bez sudo, a one zawiodły, jak opisałeś. Jednak z sudo przed nimi, przy użyciu domyślnego
haproxy.cfg
pliku z instalacji, teraz działa bez problemów. Pomyślałem, że wskazałbym, że nawet przy prawidłowych konfiguracjach, dla mnie nie obejdzie się bez sudo.źródło
Właśnie spotkałem ten sam problem ze skryptem haproxy init.d na klarownym. Po prostu nie mogłem uruchomić haproxy, więc poszukałem go i odkryłem, że musisz zmienić zmienną ENABLED w skrypcie /etc/init.d/haproxy.
Zmiana tej zmiennej jednak wcale NIE pomogła i dlatego: Kilka linii niżej w /etc/init.d/haproxy zmienna ENABLED jest sprawdzana przez skrypt za pomocą następującego wiersza: test „$ ENABLED”! = „0” || wyjście 0. Zauważyłem, że ten test ZAWSZE zawiódłby w moim systemie, bez względu na wartość ENABLED. Reszta skryptu nigdy nie jest uruchamiana.
Muszę przyznać, że tak naprawdę nie wiem, dlaczego ta linia testowa nie działa poprawnie. Ale skoro i tak chcemy włączyć haproxy, po co zawracać sobie głowę sprawdzaniem? ... Komentowanie tej linii testowej sprawiło, że zadziałała.
Mam nadzieję, że to pomoże każdemu.
źródło
Wciąż wpatrywałem się w ten scipt, nie mogłem zrozumieć, dlaczego nie działa pomimo
ENABLED=1
zdefiniowanego w skrypcie init.W końcu, po lekkim spojrzeniu w dół, zobaczysz, że
/etc/default/haproxy-file
jest on pozyskiwany tuż przed wykonaniem testu, zastępując w ten sposób zmienną set w samym skrypcie init ...źródło
Napotkałem ten sam problem na lazur z debian vm. Okazuje się dość proste. Skrypt inicjujący haproxy wykorzystuje zależności w czasie wykonywania. W starszym systemie update-rc.d było właściwą drogą, ale w nowszym systemie zastosowano insserv: https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
Więc jeśli użyłeś update-rc.d, aby dodać usługę haproxy w nowszych systemach, powinieneś:
$ sudo update-rc.d -f haproxy usuń
$ sudo insserv haproxy
źródło