Debian: Nginx neben einen Apache Server installieren

Ziel ist es neben einen vorhandenen Apache Server einen Nginx HTTP Server zu installieren. Ich möchte schrittweise meine vorhandenen Webseiten von Apache auf Nginx migrieren. Beginnen möchte ich mit den statischen Jekyll Webseiten.

Da der Server zwei IP Addressen hat folgendens Vorgehen:

  • Einschränken des Apache Servers auf eine IP Addresse
  • Installation von Nginx aus den Repositories von Nginx

Einschränken des Apache Servers auf eine IP Addresse

Wenn man nichts macht “hört” der Apache Server auf alle IP Adressen die vorhanden sind. Dies zu ändern geht recht einfach:

 vi ports.conf
    Listen 80 in 

 Listen wunsch.ip.addres.se:80

Und Apache neu starten.

Installation von Nginx

Ich möchte nicht die normalen Nginx Pakete von Debian nehmen sondern die etwas aktuelleren die in einem Debian Repository von Nginx.org bereitgestellt werden. Das bedeutet:

  • Repository bekannt machen
  • Signaturschlüssel besorgen
  • Nginx installieren

Die Schritte:

 vi /etc/apt/sources.list.d/nginx.list
    deb http://nginx.org/packages/debian/ jessie nginx
    deb-src http://nginx.org/packages/debian/ jessie nginx
 wget http://nginx.org/keys/nginx_signing.key
 apt-key add nginx_signing.key
 rm nginx_signing.key 
 apt install nginx

Der letzte Schritt wird naturgemäß in einem Fehler enden da die Installationsroutine direkt den Nginx Server starten möchte was natürlich nicht geht denn Port 80 ist ja schon vom Apache Server belegt.

tail /var/log/nginx/error.log 
       2015/11/23 09:41:02 [emerg] 26824#0: bind() to 0.0.0.0:80 failed (98: Address already in use)

Auch hier jetzt die richtige IP Adresse eintragen

vi /etc/nginx/conf.d/default.conf 
   server {
        listen        zweite.ip.addres.se:80;

/etc/init.d/nginx start
[ ok ] Starting nginx (via systemctl): nginx.service.

Und dann lacht uns bei http://zweite.ip.address.se auch die Standardseite von Nginx an