
Nachdem ich mein Laravel-Projekt auf meinen Entwicklungsserver übertragen habe, kann ich Apache 2 anscheinend nicht mehr ausführen.
Nach dem Ausführen der Befehlszeile:
sudo systemctl status apache2
Ich erhalte die folgende Fehlermeldung:
● apache2.service – Der Apache-HTTP-Server. Geladen: geladen (/lib/systemd/system/apache2.service; aktiviert; Vendor-Vorgabe: aktiviert) Aktiv: Fehlgeschlagen (Ergebnis: Exitcode) seit Montag, 03.02.2020, 02:17:48 UTC; vor 1 Minute und 17 Sekunden. Prozess: 1631 ExecStart=/usr/sbin/apachectl start (Code=exited, Status=1/FEHLER)
Nach einer kurzen Suche bei Google scheint es, dass Apache nicht gestartet werden kann, da mehrere Prozesse Port 80 verwenden.
Nach dem Ausführen der Befehlszeile:
sudo lsof -i tcp:80
Ich erhalte die Liste der folgenden Prozesse:
BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME google_ne 716 root 7u IPv4 18497 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34086->metadata.google.internal:http (HERGESTELLT) google_ac 717 root 5u IPv4 18475 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34082->metadata.google.internal:http (HERGESTELLT) google_cl 719 root 5u IPv4 18478 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34084->metadata.google.internal:http (HERGESTELLT) google_cl 719 root 6u IPv4 18402 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34080->metadata.google.internal:http (CLOSE_WAIT)
Das Problem ist, dass ich nicht weiß, wie ich jeden dieser Prozesse beenden kann. Ich habe es mit vielen Befehlszeilen versucht, aber ohne Erfolg.
Vielen Dank für Ihre Hilfe !
Antwort1
Laufen :
netstat -tulpn | grep 80
Sehen Sie sich die Zeile an, in der Folgendes steht:
Proto : tcp
Local address : *.*.*.*:80
Holen Sie sich den Wert der Spalte „PID“ oder „Prozessname“:
<pid_or_process_name>:80
Beenden Sie den Prozess, der die Ports 80 hält, mithilfe seiner PID oder seines Prozessnamens:
pkill -9 <process_name>
Oder
kill -9 <pid>
Schließlich ist dies immer noch ein Workaround: Sie müssen den Prozess herausfinden, der für die Freigabe von Port 80 verantwortlich ist, und ihn deaktivieren oder einfach seine Konfigurationsdatei so ändern, dass sie auf einen anderen Port als TCP/80 verweist, da Sie nach einem Neustart dasselbe Problem haben werden.