Raspberry Pi und Nginx – Teil 1

Der Raspberry Pi kann für die unterschiedlichsten Dinge verwendet werden, einer der Hauptaufgaben ist jedoch als Webserver. Die meisten Raspberry Pi Benutzer haben einen Web Server laufen. Damit kann man heutzutage einfach am meisten anfangen und über HTTP kann man am einfachsten und schnellsten mit dem Pi kommunizieren. Nachdem ich bereits gezeigt habe wie man einen Apache und einen Lighttpd Web Server installiert ist nun Nginx an der Reihe.

nginx

Installation

In diesem Tutorial wollen wir Nginx installieren und darauf PHP Skripte laufen lassen. Diese Anforderung ist die einfachste und üblichste Konfiguration für Web Server. Die installation ist wie immer denkbar einfach:

Solltet Ihr noch aus vorangegangenen Tutorials einen anderen Web Server laufen haben, so ist nun ein guter Zeitpunkt diesen zu beenden. Folgende Zeilen kann man sicherheitshalber ausführen, auch wenn doch kein Web Server läuft:

Die erste Zeile würde den Apache Web Server stoppen, die zweite Zeile den Lighttpd Server. Gestartet wird nun Nginx mit folgendem Kommando:

Konfiguration

In vielen Foren und Beträgen ließt man, dass die Konfiguration von Nginx sehr kompliziert und schwierig ist. Sie ist gewöhnungsbedürftig, aber nicht schwierig! Ein großes Verständnisproblem für viele ist, dass der Nginx Webserver seinen Content nicht wie bei anderen Servern üblich aus dem /var/www. Dieser Ordner existiert nicht (außer man hat vorher schon einen anderen Webserver laufen gehabt), dann bei Nginx liegt der Webinhalt unter:

Wir haben nun 2 Möglichkeiten:

  • wir verwenden dieses Verzeichnis für unsere Webapplikationen und Webseiten oder
  • wir konfigurieren Nginx so, dass er das /var/www Verzeichnis verwendet.

neuer Webroot

Das Webverzeichnis lässt sich sehr einfach ändern. Nginx erlaubt genau so wie auch Apache, dass man mehrere Domains auf einem Server mittels virtuelle Hosts verwaltet. Im Verzeichnis /etc/nginx gibt es dazu die Ordner sites-available und sites-enabled. Diese Aufteilung ist equivalent zur Konfiguration von Apache, das heißt unter sites-available legen wir pro virtuellen Host eine Konfigurationsdatei an. Wollen wir nun dass dieser Host auch über den Webserver erreichbar ist, so brauchen wir lediglich eine Kopie oder eine Verknüpfung der Konfigurationsdatei in den Ordner sites-enabled kopieren und den Server neu starten.

Bei einem neu installierten Nginx findet man bereits eine Standardkonfiguration unter /etc/nginx/sites-available. Diese ist in der Datei default zu finden mit jede Menge Kommentare. Wir erstellen uns einen neuen Host:

mit folgendem Inhalt:

Das ist die minimalste Konfiguration die möglich ist! Unser Host soll auf den Port 80 hören (der Standard HTTP Port), /var/www als Hauptverzeichnis nutzen und wenn kein genauer Pfad angegeben wird standardmäßig die index.html oder index.htm Datei ausgeben. Jetzt müssen wir nur noch einen Link im sites-enabled Ordner erstellen und den Webserver neu starten:

Ab jetzt liefert der Webserver die HTML Seiten aus dem gewohnten Webverzeichnis aus.

(Visited 1.568 times, 1 visits today)

Das könnte auch interessant sein...

3 Antworten

  1. Hallo Werner,

    besten Dank für den Blog. Ich habe schon lange einen einfachen Server gesucht, um meine Homepage auf dem Raspi auszuprobieren, der auch noch durch Module erweitert werden kann. Leider funktioniert das ganze nur im Originalzustand, die vorgeschlagenen Veränderungen zum Verschieben der Speicherdatei funktionieren leiden nicht. Auch mein Versuch, das wwww-Verzeichnis in /home/pi/ zu betreiben führte nicht zum Erfolg. Kannst Du das mal untersuchen. Die Testsite ist in auf der /Home/pi-Seite lesbar, aber nach der Verschiebung nicht mehr. Ursache?

    Beste Grüße
    Gerd

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.