Ich habe ein Problem mit Nginx. Ich habe verschiedene Lösungen ausprobiert, aber für mich funktioniert nichts. Das ist mein Fehler:
4 root@BANANAS ~ # sudo service nginx restart :(
Restarting nginx: nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] still could not bind()
nginx.
Kannst du mir helfen?
Antworten:
Wahrscheinlich verwendet ein anderer Prozess den angegebenen Port:
Holen Sie sich die PID des Prozesses, der bereits 443 verwendet. Und senden Sie das Signal mit dem Befehl kill.
Alternativ können Sie tun:
Stellen Sie sicher, dass Sie keine alte Syntax verwenden:
Die obige Syntax wird verursachen
Richtige Syntax:
oder
Beide oben genannten Syntax erreichen dasselbe, indem sie sowohl auf IPv4 als auch auf IPv6 hören.
quelle
sudo netstat -tulpn
?sudo pkill nginx
und versuche es dann erneut. Nur nginx ist als Webserver installiert, oder?Eine andere Möglichkeit (meiner Erfahrung nach) besteht darin, den auf diesem Port ausgeführten Prozess zu beenden
443
oder wenn Sie auf Port laufen,
80
ändern Sie einfach den Port inHoffe, es hilft jemandem, der das gleiche Problem hatte
Alternative Verwendung
lsof
:Suchen Sie die PID und beenden Sie den Prozess, der am Port ausgeführt wird
443
quelle
fuser
wird standardmäßig nicht in Centos installiert.Danke für die Antwort. Nach dem Rennen
Ich stellte fest, dass Apache2 auf Port 80 ausgeführt wurde. Dies geschah wahrscheinlich, nachdem ich mit Certbot SSL auf dem Server installiert hatte. Ich habe Apache2 entfernt und der Server war betriebsbereit.
Das hat es geschafft! Danke nochmal.
quelle
apache2
standardmäßig installiert und ich bemerkte es nicht.Ich habe den obigen Fehler erhalten, weil ich die Listen-Direktive versehentlich zweimal im selben Serverblock wie folgt wiederholt habe:
Ändern in:
oder
Das Problem beim Neustart des Servers wurde behoben: sudo service nginx start
quelle
Wenn ich die Bindung des Nginx-Prozesses an 80 und 443 Ports beendet habe, wurde der Prozess immer mit einer neuen PID erneut angezeigt.
Es hat mir geholfen, diese Zeile vorübergehend zu kommentieren
/etc/nginx/nginx.conf
, nginx neu zu starten und die Zeile dann wieder zu kommentieren :quelle
Wenn Sie eine virtuelle Maschine verwenden, müssen Sie die virtuelle Maschine möglicherweise nur neu starten. Ich hatte gestern die gleichen Probleme und konnte Nginx nicht dazu bringen, eine der Methoden in diesem Beitrag zu verwenden. Also habe ich die virtuelle Maschine heute Morgen gestartet, die laufenden Prozesse überprüft und sehe, dass Nginx auf Port 80 ausgeführt wird. Ich habe gestern sogar den Status von Nginx mit systemctl angezeigt und festgestellt, dass dies fehlgeschlagen ist, aber heute ist es aktiv. Ich bin mir nicht sicher, was hier passiert ist, aber es könnte einen Versuch wert sein.
quelle