Apache nie może się zrestartować

71

Próba zrestartowania apache z terminala za pomocą następującego polecenia:

 sudo service apache2 restart

podczas wykonywania tej komendy błąd poniżej:

Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.

Po wyliczeniu „systemctl status apache2.service” spadł poniżej wyjścia

apache2.service - (null)
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since Sat 2015-05-30 02:22:41 IST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4866 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

błąd apache.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'
Gautam Savaliya
źródło
6
po ponownym uruchomieniu apache2 i pojawieniu się tego błędu, uruchom go sudo journalctl -xe, aby uzyskać lepszy obraz tego, co się stało. jeśli nadal masz problemy ze zrozumieniem. Opublikuj wyniki tutaj.
grag42
dobrze. To mi też nie pomogło. Co znajduje się w plikach dziennika Apache. /var/log/apache2/error.log
grag42
@ grag42 dziękuję za twoją sugestię, uruchomiłem sudo journalctl -xe i znalazłem problem z przepisywaniem, który już tam był, i naprawiłem go.
Gautam Savaliya
4
Możliwy duplikat Apache się nie uruchamia
rancho
3
@rancho: Co prowadzi cię do przekonania, że ​​pytanie jest duplikatem? Połączone pytanie zawiera dość konkretny komunikat o błędzie, którego tutaj nie mamy. Możliwe przyczyny problemu OP są w tej chwili dość niejasne.
David Foerster,

Odpowiedzi:

61

Może to pomoże znaleźć przyczynę:

journalctl | tail

W moim przypadku był to błąd w pliku konfiguracyjnym:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf
Arek
źródło
6
No journal files were found.
Stevie G,
5
@StevieG, spróbujsudo journalctl | tail
Dherik
1
Co zrobiłeś, żeby to naprawić?
Léo Léopold Hertz
w moim przypadku popełniłem także błąd w pliku
apache2.config
Dzięki. Źle wpisałem mój katalog dla nowo dodanego conf strony.
Lynnell Emmanuel Neri
48

W pliku występuje błąd składniowy apache2.conf.

W terminalu wpisz:

cd /etc/apache2

Następnie:

apache2ctl configtest

Pokaże ci, gdzie jest błąd w apache2.confpliku do poprawienia.

rancho
źródło
1
świetne podejście tnx, oszczędziłem mój czas
George Garchagudashvili
1
To jest fantastyczne.
abalter
1
Dzięki. Wystąpił problem z opcją redmine i PassengerResolveSymlinksInDocumentRoot.
Vadim,
lol, po wykonaniu: apache2ctl configtestmam składnię OK, ale kiedy uruchamiam, apache2 --helpdostałem apache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot i nie ma błędów w Apache error.log!
Vladimir Ch
po obejrzeniu ściśle z /etc/apache2/sites-enabled/reż, zauważyłem, że mam plik, a nie symboliczny linc do site.conf + reenable mod php5.6 (sudo a2dismod php5.6; sudo a2enmod php5.6) moja usługa apache2 została uruchomiona bez "ohh- ahh "
Vladimir Ch
18

Problem polega na tym, że niektóre pliki konfiguracyjne są usuwane, dlatego trzeba je ponownie zainstalować.

PONOWNIE ZAINSTALUJ APACHE2:

Aby zastąpić usunięte pliki konfiguracyjne bez usuwania pakietu, możesz:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

Aby całkowicie usunąć pliki konfiguracyjne apache2, powinieneś:

sudo apt-get purge apache2

co pozwoli następnie zainstalować go w zwykły sposób za pomocą:

sudo apt-get install apache2

Aby usunąć wszystkie pliki konfiguracyjne, wymagane jest czyszczenie - jeśli usuniesz pliki konfiguracyjne, ale usuniesz tylko pakiet, zostanie to zapamiętane, a brakujące pliki konfiguracyjne nie zostaną ponownie zainstalowane domyślnie.

Następnie PONOWNIE ZAINSTALUJ PHP5:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5
Rujika Rajan
źródło
1
Jak myślisz, dlaczego niektóre pliki konfiguracyjne zostały usunięte?
Léo Léopold Hertz
2

Problem:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Rozwiązanie:

  • Aby całkowicie usunąć pliki konfiguracyjne apache2, powinieneś:

    1) sudo apt-get purge apache2

  • co pozwoli następnie zainstalować go w zwykły sposób za pomocą:

    2) sudo apt-get install apache2

==> Działa dobrze ...

dzięki....

Riyal Padhiyar
źródło
2

Ten sam błąd wystąpił po usunięciu wirtualnego hosta. Problemem był utrzymujący się plik konfirmacji SSL związany z tym hostem w /etc/apache2/sites-enabled. SSL przeszedł przez Let's Encrypt, więc kod do usunięcia to:

sudo rm yourdomain.com-le-ssl.conf
iMarketingGuy
źródło
1

Mam te same błędy Podczas pracy z .htaccess

Właśnie wydałem to polecenie

<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

w /etc/apache2/sites-enabled/000-default.conftym folderze

po dodaniu tego pojawia się błąd

następnie usuwam te polecenia z pliku i mój błąd został rozwiązany.

Kaushikdjay
źródło
1

najprawdopodobniej masz błąd składniowy. dla mnie było to w moim folderze „włączonych witryn”.

błędnie napisałem „ServerAlias” na „ServerAlisa”.

Bruce Tong
źródło
Moje było, że źle napisałem folder.
Lynnell Emmanuel Neri
0

Jest to głównie błąd konfiguracji. Właśnie włączyłem starą stronę na Apache, co spowodowało ten błąd. Musiałem więc go wyłączyć przed ponownym załadowaniem apache.

sudo a2dissite <my-site>
sudo service apache2 reload

Problem rozwiązany :)

Thomas Venturini
źródło
0

Dziękuję za pomoc! Byłem w stanie poprawnie zainstalować z rozwiązaniem:

Aby całkowicie usunąć pliki konfiguracyjne apache2, powinieneś:

  1. sudo apt-get purge apache2 co pozwoli następnie zainstalować go w zwykły sposób za pomocą:

  2. sudo apt-get install apache 2

Teraz działa dobrze.

Renata Sembay
źródło
0

Myślę, że problem polega na tym, że masz włączoną stronę, ale usunąłeś jej plik konfiguracyjny. Spróbuj wyłączyć witrynę z sudo a2dissite „name”, a następnie zrestartuj serwer Apache. Przynajmniej taki był dla mnie problem i ta akcja go rozwiązała.

Ilias Koritsas
źródło
0

W moim przypadku błąd zaczął pojawiać się po wykonaniu apt upgrade. Po dużej grze poszedłem do następujących katalogów, aby zobaczyć, co mogę wyłączyć.

  • / etc / apache2 / mods-enabled - a2dismod (aby ponownie włączyć a2enconf)
  • / etc / apache2 / conf-enabled - a2disconf (aby ponownie włączyć a2enconf)

W moim przypadku musiałem włączyć te MODS.

wprowadź opis zdjęcia tutaj

Wygląda na to, że apt-upgrademusiałem usunąć / zepsuć php7.2, ponieważ jak tylko go wyłączyłem i zrestartowałem, wszystko działało. Oczywiście w przypadku innych osób może to być coś innego. Gdy Apache ulega awarii, może to być zła konfiguracja lub zły mod. Musisz wybrać swoje bitwy.

MadBoy
źródło