Amazon EC2 - Neustart des Apache-Servers

9

Wenn ich diesen Befehl ausführen

  

sudo /etc/init.d/httpd neustart

es gibt unter Fehler

Stoppen von httpd: [FAILED]

Start httpd: (98) Adresse bereits verwendet: make_sock: konnte nicht an Adresse [::]: 80 binden (98) Bereits verwendete Adresse: make_sock: konnte nicht an die Adresse 0.0.0.0:80 gebunden werden keine hörbaren Buchsen verfügbar, heruntergefahren Protokolle können nicht geöffnet werden [FAILED]

Ich habe Programme mit Port 80 überprüft, indem ich

benutzt habe

netstat -lnp | grep: 80 (es gibt unter Ausgabe)

tcp 0 0 ::: 80 ::: * LISTEN 21739 / httpd

Warum kann ich Apache nicht anhalten, indem ich sudo /etc/init.d/httpd restart verwende?

unter Befehle funktionieren ohne Problem

sudo apachectl stop

sudo apachectl start

Ich benutze Linux Micro Instanz von Amazon ec2

    
Mohammad Shahid 04.03.2012, 18:12
quelle

3 Antworten

13

Ich stieß auf dieses Problem, als ich Apache von der Quelle installierte, aber dann versuchte,

auszuführen %Vor%

, die eine vorinstallierte Version von Apache verwendet. Die Stop-Direktive in /etc/init.d/httpd löschte nicht die Datei httpd.pid, die beim Starten der von der Quelle installierten Version von Apache erstellt wurde.

Um festzustellen, ob dies auch der Grund für Ihr Problem ist, suchen Sie, wo die Datei httpd.pid gesetzt wird, wenn Sie

ausführen %Vor%

Wenn Sie von der Quelle installiert haben und apache2 in / usr / local / apache2 lebt, sollte die Datei httpd.pid in / usr / local / apache2 / logs erstellt werden. Wenn Sie Apache stoppen, indem Sie

ausführen %Vor%

Diese Datei sollte entfernt werden. Um zu testen, ob die Datei httpd.pid Ihr Problem verursacht, starten Sie Apache, indem Sie

aufrufen %Vor%

und suchen Sie die Datei httpd.pid. Versuchen Sie dann, Apache zu stoppen, indem Sie

verwenden %Vor%

Wenn die ursprüngliche httpd.pid-Datei noch vorhanden ist, kann Apache nicht gestartet werden, wenn Sie

verwenden %Vor%

Um meine /etc/init.d/httpd Datei korrekt zu verwenden, lege ich den Aufruf explizit auf apachectl in den Methoden start und stop:

%Vor%     
littleforest 30.04.2013 17:44
quelle
1

Ich habe es versucht und es funktioniert:

  1. sudo fuser -k -n tcp 80
  2. sudo Dienst httpd Start

Hoffe das wird dir helfen!

Prost

    
pigfly 18.02.2017 01:35
quelle
0

Ich fühle es ist besser, den Prozess selbst zu töten, herauszufinden, die Prozess-ID und töten Sie es und dann einen Neustart, sollte es gut funktionieren

    
Jeevan Dongre 02.11.2012 16:24
quelle

Tags und Links