Apache / httpd nie uruchamia się automatycznie podczas rozruchu

11

Mam apache2 zainstalowany na Amazon Linux AMI wydanie 2012.03. Jestem w stanie uruchomić go ręcznie bez żadnych błędów przy użyciu /etc/init.d/httpd start. Jednak nie uruchamia się automatycznie po uruchomieniu komputera.

Wygląda na to, że wszystko jest poprawnie skonfigurowane w moich katalogach rc * .d. Oto wynik find /etc/rc.d -name "*httpd*" | xargs ls -l:

-rwxr-xr-x 1 root root 3371 Feb 16  2012 /etc/rc.d/init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc0.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc1.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc2.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc3.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc4.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc5.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc6.d/K15httpd -> ../init.d/httpd

Rozumiem, że mogę wprowadzić /etc/init.d/httpd startpolecenie /etc/rc.local, ale czy to nie jest obejście? Dlaczego nie uruchamia się automatycznie? Inne rzeczy w katalogach rc * .d zaczynają się dobrze przy starcie systemu (mongod, postfix itp.). Dzięki!

Mike Ciałowicz
źródło
Mike, myślę, że możesz używać chkconfig --list i chkconfig w dystrybucji Amazon AMI.
JasonAzze
chkconfig --listprogramy httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off... więc jak je włączyć? Dzięki!
Mike Cialowicz

Odpowiedzi:

34

Użyj chkconfig do zarządzania poziomami uruchamiania, na których chcesz uruchomić tę usługę.

Zwykle wykonuje polecenie chkconfig httpd on .

Jason Azze
źródło
Co jeśli to nie zadziała?
Paul Sheldrake,
2
@PaulSheldrake korzystasz z systemu operacyjnego, który przypadkiem używa systemd? Na przykład Linuxes z rodziny Red Hat 7 używają teraz systemd. W takim razie chceszsystemctl enable httpd
JasonAzze
@JasonAzze Używam centos 6.5.
Paul Sheldrake
@JasonAzze Jeśli jesteś zainteresowany spojrzeniem github.com/paulsheldrake/vagrant/blob/master/scripts/…
Paul Sheldrake
@PaulSheldrake jaki jest tryb awarii? Jeśli wydajesz problem, chkconfig --list httpdczy jest włączony dla poziomów uruchamiania 2-5? Zastanawiam się, czy httpd próbuje się uruchomić, ale natychmiast zatrzymuje się z powodu złej konfiguracji httpd. Czy w dziennikach są dowody?
JasonAzze
7

Nie masz żadnych linków „S”. Wszystkie „K” są wyłączane. Dodaj linki o tej samej nazwie, po prostu zamień K na S.

„Ogólnie system uruchamia polecenia rozpoczynające się na literę„ S ”i zatrzymuje polecenia rozpoczynające się na literę„ K. ”Polecenia rozpoczynające się na literę„ K ”działają tylko wtedy, gdy system zmienia poziomy uruchamiania z wyższego na niższy poziom. Polecenia zaczynające się na literę „S” działają we wszystkich przypadkach. ”

Jeśli używasz chkconfig, zobacz „man chkconfig”. W twoim przypadku:

chkconfig --level 2345 httpd on

powinieneś zrobić.


źródło