service httpd restart / (98) Adresse wird bereits verwendet

11

Aus heiterem Himmel kann ich Apache auf meinem CentOS 6.8-Webserver nicht neu starten:

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:7080
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:7080
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

Ich habe eine Reihe von Dingen ausprobiert, die ich online gelesen habe, einschließlich des Entfernens von Sperrdateien.

Ich habe beschlossen, den Server neu zu starten. Nach dem Neustart würde der Versuch, gehostete Websites zu laden, zu "502 Bad Gateway" führen.

# service httpd status
httpd is stopped

# service httpd start
Starting httpd:                                            [  OK  ]

# service httpd status
httpd dead but subsys locked

Trotz des Status "tot" kann ich jetzt Websites laden!

Manchmal funktioniert der Neustart des Dienstes httpd ...

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

In anderen Fällen führt dies jedoch zum ersten Fehler oben. In diesem Fall kann ich es beheben mit:

# killall -9 httpd
# service httpd start

Also kann ich es umgehen, aber ich bin wirklich neugierig, was los ist und frage mich, ob ich besorgt sein sollte.

stevland
quelle
Ist Ihr Dateisystem voll? Und: Wenn der Fehler auftritt, führen Sie ihn aus netstat -tulpenund suchen Sie nach etwas, das auf Port 7080 lauscht. Sie führen nur Apache aus, oder? Der 7080 Port ist kein Fehler?
Lenniey
tcp 0 0 :::7080 :::* LISTEN 0 5626801 3829/httpd
Stevland

Antworten:

12

Möglicherweise haben Sie Ihren Listener an diesem Port zweimal in Ihren Konfigurationen irgendwo definiert.

Hören Sie *: 7080

Wenn Sie einen Apache-Konfigurationstest ausführen, wird angezeigt, dass die Konfiguration in Ordnung ist. Bis Sie den Dienst tatsächlich neu starten, schlägt dies mit einem ähnlichen Fehler wie dem angezeigten fehl.

Stellen Sie außerdem sicher, dass Ihr Protokollierungsspeicherort vorhanden und beschreibbar ist und über ausreichend Speicherplatz verfügt. Diese Nachricht am Ende ist verdächtig.

Jeff W.
quelle
9

SSH zum Server und führen Sie Folgendes aus:

setenforce 0

Dadurch wird Selinux bis zum nächsten Neustart deaktiviert

Versuchen Sie dann, Apache neu zu laden

service httpd restart

Wenn das irgendwie funktioniert, wurde Selinux eingeschaltet.

Um es dauerhaft zu deaktivieren, folgen Sie diesem Link:

https://kb.plesk.com/de/115626

Anthony Fornito
quelle
So sehr ich einfache Antworten liebe, leider hat es nicht funktioniert. :(
stevland
Können Sie diese Befehle ausführen, um zu sehen, was welche Ports verwendet? Bitte fügen Sie entweder die Ausgabe zur Frage oder den Pastebin hinzu. "netstat -ano | grep 80" "netstat -ano | grep 7080" "cat / etc / services | grep -w 80" "cat / etc / services | grep -w 7080" "nmap localhost | grep 80" "nmap localhost | grep 80 "" nmap localhost "
Anthony Fornito