Skip to content
On this page

Wie man Nginx verwendet, um einen statischen Dateiserver zu hosten

Nginx ist ein Webserver, der verwendet werden kann, um statische Dateien zu hosten. Dieses Tutorial beschreibt, wie man Nginx verwendet, um einen statischen Dateiserver zu hosten.

Nach Abschluss dieses Tutorials können Sie:

  • Verzeichnisse durchsuchen
  • Zu Unterverzeichnissen und Dateien navigieren
  • Dateien über den Browser herunterladen

Nginx konfigurieren

Zuerst müssen Sie Nginx installiert haben. Wenn Sie Nginx nicht installiert haben, können Sie sich an andere Anleitungen wenden.

Nach der Installation von Nginx können Sie es konfigurieren, um einen statischen Dateiserver zu hosten. Überprüfen Sie /etc/nginx/nginx.conf, um zu sehen, ob die Konfigurationsdatei in mehrere Dateien aufgeteilt ist. Sie können den folgenden Befehl verwenden, um es zu öffnen:

vi /etc/nginx/nginx.conf

Wenn Sie include /etc/nginx/conf.d/*.conf; im http-Abschnitt sehen können, bedeutet dies, dass die Konfigurationsdatei in mehrere Dateien aufgeteilt ist.

Sie können den folgenden Befehl verwenden, um eine neue Konfigurationsdatei zu erstellen:

vi /etc/nginx/conf.d/static-file-server.conf

Hinweis: Möglicherweise müssen Sie sudo verwenden, um den obigen Befehl auszuführen. sudo vi /etc/nginx/conf.d/static-file-server.conf

Fügen Sie dann die folgende Konfiguration zur Datei hinzu:

server {
    listen       80;
    server_name  static-file-server.tinkink.net; # Ändern Sie dies in Ihren Domainnamen

    root /path/to/your/static/files; # Ändern Sie dies in Ihr Verzeichnis für statische Dateien

    autoindex on; # Aktivieren Sie die Verzeichnisliste

    location / {
        try_files $uri $uri/ =404;
    }
}

Hier gibt listen den zu lauschenden Port an, server_name gibt den Domainnamen oder die IP-Adresse an, root gibt das Verzeichnis für statische Dateien an und autoindex aktiviert das Verzeichnislisting.

location / passt zum Stammverzeichnis, try_files gibt die auszuprobierenden Dateien an und gibt einen 404 Fehler zurück, wenn die Datei nicht gefunden wird.

Nginx neu starten

Nachdem Sie Nginx konfiguriert haben, müssen Sie es neu starten, damit die Konfiguration wirksam wird:

sudo systemctl restart nginx

oder

sudo service nginx restart

Auf die Website zugreifen

Jetzt können Sie über den Browser auf die Website zugreifen, zum Beispiel: http://static-file-server.tinkink.net

Berechtigungen

Stellen Sie sicher, dass die Verzeichnisberechtigungen korrekt gesetzt sind, um Sicherheitsprobleme zu vermeiden. Da nginx möglicherweise einen eindeutigen Benutzer nginx zum Ausführen verwendet, sollten Sie den Besitzer und die Gruppe des Verzeichnisses auf diese Benutzergruppe setzen. Sie können den folgenden Befehl verwenden, um die Berechtigungen festzulegen:

chown -R nginx:nginx /Pfad/zu/Ihren/statischen/Dateien

Wenn sich das Verzeichnis für statische Dateien im Home-Verzeichnis des Benutzers befindet, müssen Sie außerdem sicherstellen, dass das Home-Verzeichnis und das Verzeichnis für statische Dateien die korrekten Zugriffsberechtigungen haben. Es ist etwas kompliziert, daher empfehle ich Ihnen, das Verzeichnis für statische Dateien aus dem Home-Verzeichnis zu verschieben.

Wenn Sie konsequent Home-Verzeichnisse verwenden, müssen Sie den Benutzer nginx zu Ihrer Benutzergruppe hinzufügen. Sie können den folgenden Befehl verwenden:

usermod -a -G {Benutzername} nginx

Dann müssen Sie Berechtigungen für die Gruppe hinzufügen. Sie können den folgenden Befehl verwenden:

chmod g+rwx /home/{Benutzername}

Hinweis: Ersetzen Sie {Benutzername} durch Ihren Benutzernamen.

Wenn es immer noch nicht funktioniert, können Sie versuchen, SELinux auszuschalten. Sie können den folgenden Befehl verwenden:

sudo setenforce 0

Wenn es jetzt funktioniert, können Sie SELinux dauerhaft deaktivieren. Öffnen Sie die Datei /etc/selinux/config und ändern Sie SELINUX=enforcing in SELINUX=disabled. Speichern Sie dann die Datei und starten Sie das System neu.

Schlussfolgerung

Das Einrichten eines statischen Dateiservers mit Nginx ist einfach, aber wenn Sie die Dateien im Home-Verzeichnis platzieren möchten, kann es etwas kompliziert sein.