21
Apr 14

Nginx kann nicht gestartet werden: bind() to 0.0.0.0:80 failed (98: Address already in use)

Wenn Nginx nicht gestartet werden kann

$ /etc/init.d/nginx restart
[FAIL] Restarting nginx: nginx failed

liegt es oft am Apache, der vorher gestartet wurde und den Standard-Port 80 belegt hat. Dies fürht beim Start-Versuch von Nginx zu einem Fehler mit einer allgemeinen Standard-Fehlermeldung.

Das Error-Log bringt Licht ins Dunkel:

$ tail -f /var/log/nginx/error.log
2014/04/21 17:40:02 [emerg] 4699#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to [::]:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to [::]:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to [::]:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to [::]:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: bind() to [::]:80 failed (98: Address already in use)
2014/04/21 17:40:02 [emerg] 4699#0: still could not bind()

Eine Lösung ist es, Apache zu deinstallieren. Eine weniger radikale besteht im Ändern des Apache- bzw. Nginx-Ports. Der Port für Apache ist in der /etc/apache2/ports.conf definiert:

NameVirtualHost *:80  
Listen 80

Nun funktioniert es wieder:

$ /etc/init.d/nginx restart
[ ok ] Restarting nginx: nginx.

Es gibt eine weitere Lösung: den Web-Servern werden verschiedene IP-Adressen zuzuweisen.

Alles hier Beschriebene bezieht sich auf ein System mit folgenden Parametern:

$ lsb_release -a
No LSB modules are available.
Distributor ID:    Debian
Description:    Debian GNU/Linux 7.4 (wheezy)
Release:    7.4
Codename:    wheezy