it-swarm.com.de

Nginx startet nicht (Adresse wird bereits verwendet)

Ich habe ein Problem mit Nginx. Ich habe verschiedene Lösungen ausprobiert, aber für mich funktioniert nichts ... __Das ist mein Fehler:

4 [email protected] ~ # 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?

40
Herbert89

Wahrscheinlich verwendet ein anderer Prozess den angegebenen Port:

Sudo netstat -tulpn

Rufen Sie die PID des Prozesses ab, der bereits 443 verwendet.

Sudo kill -2 <PID>

Sudo service nginx restart

Alternativ können Sie Folgendes tun:

Sudo fuser -k 443/tcp

Stelle sicher, dass du keine alte Syntax verwendest:

server {
    listen :80;
    listen [::]:80;
}

Die obige Syntax führt dazu 

nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Richtige Syntax:

server {
    listen 80;
    listen [::]:80 ipv6only=on;
}

oder

server {
    listen [::]:80;
}

Beide oben genannten Syntax erreichen dasselbe, indem sie sowohl auf ipv4 als auch auf ipv6 hören.

56
Farhad Farahi

Eine andere Möglichkeit (aus meiner Erfahrung) besteht einfach darin, den Prozess zu beenden, der auf diesem Port ausgeführt wird. 443 

Sudo fuser -k 443/tcp 

oder wenn Sie auf Port 80 laufen, ändern Sie einfach den Port in

Sudo fuser -k 80/tcp

Hoffe, es hilft jemandem, der das gleiche Problem hatte 

Alternative mit lsof:

Finde die PID und brich den Prozess ab, der auf dem Port 443 läuft.

Sudo kill -9 $(lsof -t -i :443)

Danke für die Antwort. Nach dem Rennen 

Sudo netstat -tulpn

Mir wurde klar, dass Apache2 auf Port 80 ausgeführt wurde. Dies wurde wahrscheinlich nach der Installation von SSL mit SSL auf dem Server ausgeführt. Ich habe Apache2 entfernt und der Server war betriebsbereit.

apt remove Apache2

Das hat den Trick gemacht! Danke nochmal.

1
ranaonline