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