Apache yeniden başlatılamadı


71

Aşağıdaki komutu kullanarak apache'yi terminalden yeniden başlatmaya çalışıyorum:

 sudo service apache2 restart

Bu komutu yürütürken hatanın altına düşmek:

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

"Systemctl status apache2.service" çıkışına çıktı verildi

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)

apache error.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'

6
apache2'yi çalıştırdıktan sonra yeniden başlatın ve bu hatayı alın, sudo journalctl -xebunun ne olduğu hakkında size daha iyi bir fikir verecek şekilde çalıştırın . eğer hala anlamada sorunlarınız varsa. Sonuçları buraya yazın.
grag42

tamam. Bu da bana yardımcı olmadı. Apache günlük dosyalarında ne var. /var/log/apache2/error.log
grag42

@ grag42 öneriniz için teşekkürler, sudo journalctl -xe komutunu çalıştırdım ve yeniden yazma kuralı sorununu orada buldum ve düzeltmeye başladım.
Gautam Savaliya,

4
Olası yinelenen Apache başlangıç değil
rancho

3
@ rancho: Sorunun bir kopya olduğuna inanmanıza neden olan şey nedir? Bağlantılı soru burada sahip olmadığımız oldukça spesifik bir hata mesajı içeriyor. OP'nin sorunu için olası nedenleri şu anda oldukça belirsiz.
David Foerster

Yanıtlar:


61

Belki de bu nedeni bulmaya yardımcı olacaktır:

journalctl | tail

Benim durumumda, yapılandırma dosyasında bir hataydı:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf

6
No journal files were found.
Stevie G

5
@StevieG, denesudo journalctl | tail
Dherik

1
Bu şeyi düzeltmek için ne yaptın?
Léo Léopold Hertz 준영

benim durumumda, ben de apache2.config dosyasında bir hata yaptım
alamin

Teşekkürler. Dizinimi yeni eklenen site conf için yanlış yazdım.
Lynnell Emmanuel Neri

48

Dosyasında bazı sözdizimi hatası var apache2.conf.

Bir terminalde şunu yazın:

cd /etc/apache2

Sonra:

apache2ctl configtest

Size apache2.confdüzeltmek için dosyadaki hatanın nerede olduğunu gösterecektir .


1
büyük yaklaşım tnx, zaman kazandırdı
George Garchagudashvili

1
Bu fantastik.
18'de

1
Teşekkürler. Redmine ve PassengerResolveSymlinksInDocumentRoot seçeneğiyle bir sorun oldu.
Vadim

lol, sonra yürütün: apache2ctl configtestsözdizimi Tamam var ama ben çalıştırdığınızda apache2 --helpvar apache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot ve apache error.log hiç hata!
Vladimir Ch,

/etc/apache2/sites-enabled/dir konusuna yakından baktıktan sonra, dosyaya sahip olduğumu fark ettim, site.conf için sembolik linc değil. ahh "
Vladimir Ch

18

Sorun, bazı yapılandırma dosyalarının silinmesi nedeniyle yeniden yüklemeniz gerekir.

APACHE2'Yİ DEVAM ET:

Silinen konfigürasyon dosyalarını, paketi tasfiye etmeden değiştirmek için, şunları yapabilirsiniz:

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

Apache2 config dosyalarını tamamen kaldırmak için yapmanız gerekenler:

sudo apt-get purge apache2

bu daha sonra her zamanki gibi yeniden yüklemenize izin verir:

sudo apt-get install apache2

Tüm yapılandırma dosyalarını silmek için temizleme gerekir - yapılandırma dosyalarını silip yalnızca paketi kaldırırsanız, bu hatırlanır ve eksik yapılandırma dosyaları varsayılan olarak yeniden yüklenmez.

Sonra PHP5 REINSTALL:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5

1
Bazı yapılandırma dosyalarının neden silindiğini düşünüyorsunuz?
Léo Léopold Hertz 준영

2

Sorun:

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

Çözüm:

  • Apache2 config dosyalarını tamamen kaldırmak için yapmanız gerekenler:

    1) sudo apt-get purge apache2

  • bu daha sonra her zamanki gibi yeniden yüklemenize izin verir:

    2) sudo apt-get install apache2

==> İyi çalışıyor ...

Teşekkürler....


2

Sanal bir bilgisayarı çıkardıktan sonra da aynı hatayı aldım. Sorun, içinde bulunan o ana bilgisayarla ilişkili kalan SSL conf dosyasıydı /etc/apache2/sites-enabled. SSL, Let's Encrypt kullanıyordu, bu yüzden kaldırmam gereken kod şuydu:

sudo rm yourdomain.com-le-ssl.conf

1

.Htaccess ile çalışırken de aynı hataları gördüm

Ben sadece bu komutu koydum

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

içinde /etc/apache2/sites-enabled/000-default.confbu klasöre

bunu ekledikten sonra hatayı alıyorum

sonra bu komut emrini dosyadan sildim ve hatam çözüldü.


1

Büyük olasılıkla bir sözdizimi hatası var. benim için 'siteler etkin' klasörümdeydi.

yanlış 'ServerAlias' yazıldığından 'ServerAlisa' yazdım.


Benimki klasörümü yanlış yazdım.
Lynnell Emmanuel Neri

0

Bu çoğunlukla bir yapılandırma hatasıdır. Az önce bu hataya neden olan eski bir siteyi apache'de etkinleştirdim. Bu yüzden apache yeniden yüklemeden önce onu devre dışı bırakmak zorunda kaldı.

sudo a2dissite <my-site>
sudo service apache2 reload

Sorun çözüldü :)


0

Yardımın için teşekkürler! Solution ile doğru şekilde yükleyebildim:

Apache2 config dosyalarını tamamen kaldırmak için yapmanız gerekenler:

  1. sudo apt-get purge apache2 bu daha sonra her zamanki gibi yeniden yüklemenize izin verir:

  2. sudo apt-get install apache 2

Şimdi iyi çalışıyor.


0

Sanırım sorun şu ki, bazı sitelerin etkinleştirilmiş olması ancak yapılandırma dosyasını sildiniz. Siteyi sudo a2dissite "name" ile devre dışı bırakmayı deneyin ve ardından apache sunucusunu yeniden başlatın. En azından benim için sorun buydu ve bu eylem çözüldü.


0

Benim durumumda hata yaptıktan sonra ortaya çıkmaya başladı apt upgrade. Çok oynadıktan sonra neyi devre dışı bırakabileceğimi görmek için dizinleri takip etmeye gittim.

  • / etc / apache2 / mods etkin - a2dismod (tekrar açmak için a2enconf)
  • / etc / apache2 / conf-enable - a2disconf (tekrar açmak için a2enconf)

Benim durumumda, bu MODS etkin oldu.

görüntü tanımını buraya girin

Görünen o ki apt-upgradephp7.2 'yi kaldırmış / kırmış olmalıyım çünkü onu hemen devre dışı bırakıp her şeyi yeniden başlattım. Elbette, başkalarının durumunda, farklı bir şey olabilir. Apache çöktüğünde hatalı yapılandırma veya hatalı mod olabilir. Savaşlarını seçmelisin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.