Nginx Konfiguration: Welchen Fehler mache ich?

vilbel

Lt. Junior Grade
Registriert
Mai 2014
Beiträge
296
Hallo,

ich möchte eine Testseite mit nginx auf einem Linux-Rechner aufsetzen. Zum Beispiel soll bei Eingabe von "localhost/test" im Browser meine Testseite aufgerufen werden. Ich habe die Konfigurationsdatei /etc/nginx/sites-available/default um folgenden Block ergänzt:

location /test {

root /var/www/html/test;
try_files $uri $uri/ =404;

}

Anschließend habe ich ein Verzeichnis /var/www/html/test erzeugt und darin eine Datei index.html erzeugt. Danach habe ich sicherheitshalber nochmal nginx mittels sudo systemctl restart nginx.service neugestartet.

Das Problem: Wenn ich im Browser "localhost/test" oder "localhost/test/index.html" eingebe, kommt nichts. Es erscheint nur die Meldung "404 Not Found".

Die komplette Konfigurationsdatei /etc/nginx/sites-available/default ist im Anhang.
Andere Konfigurationsdateien habe ich unangetastet gelassen.

Anmerkung: Die Datei default im Anhang wurde umbenannt in default.txt, damit ich sie hochladen kann. Im System ist diese Datei also nicht so benannt.
 

Anhänge

nginx-test.png
 
Hast du die Konfiguration unter sites-enabled kopiert oder einen Symlink erstellt ? Unter sites-available werden standardmäßig keine Konfig Files geladen.
 
Im error.log sollte stehen, welche Datei er versucht hat zu laden. Ich tippe darauf, dass er die location an den pfad, den du mit root definiert hast, anhängt. Also beim root oder im browser das /test weglassen.
 
bin/bash schrieb:
Hast du die Konfiguration unter sites-enabled kopiert oder einen Symlink erstellt ? Unter sites-available werden standardmäßig keine Konfig Files geladen.
Nein, ich habe weder die Konfiguration in den Ordner sites-enabled kopiert noch einen symbolischen Link erzeugt. So viel ich weiß ist im Ordner /etc/nginx/sites-enabled schon standardmäßig nach der Installation ein symbolischer Link auf /etc/nginx/sites-available/default => siehe Bild
default_symlink.png
 
Nachtrag: hier ist was zum thema root vs. alias: https://www.techcoil.com/blog/under...tween-the-root-and-alias-directives-in-nginx/
Ergänzung ()

vilbel schrieb:
Nein, ich habe weder die Konfiguration in den Ordner sites-enabled kopiert noch einen symbolischen Link erzeugt.
Die default Config ist für gewöhnlich schon verlinkt. Leg dir zum Testen in deiner Config einen Endpunkt in der Form hier an:
Code:
location = /testme { return 418; }
Dann nen reload und die Adresse aufrufen. Wenn du einen http 418 zurückgekommst, wird deine config geladen.
 
Zurück
Oben