Detaillierte Erklärung des Prozesses zum Erstellen eines Image-Servers mit nginx (der Unterschied zwischen Root und Alias)

Detaillierte Erklärung des Prozesses zum Erstellen eines Image-Servers mit nginx (der Unterschied zwischen Root und Alias)

Der Installationsprozess entfällt (ich habe es direkt mit yum -y install nginx; installiert).

Start-up

Starten (neu starten) Sie nginx. Die folgenden beiden Befehle sind in Ordnung:

systemctl nginx neu starten;
# Hinweis: nginx ist hier kein Verzeichnis, sondern /usr/sbin/nginx -s reload;

Wenn kein Fehler vorliegt, bedeutet dies im Allgemeinen, dass der Start erfolgreich war.

Überprüfen Sie, ob nginx auf der Seite gestartet ist

Geben Sie die IP-Adresse in den Browser ein und kehren Sie zur CentOS-Seite zurück. Ist das falsch?
Schauen Sie sich die Konfigurationsdatei an:

root /usr/share/nginx/html;

Der Inhalt von index.html in diesem Verzeichnis ist der Inhalt der CentOS-Homepage. Dies bedeutet, dass kein Problem vorliegt und nignx gestartet ist (Sie können zur Bestätigung auch den Titel von index.html ändern).

Vorbereitung

mkdir -p /data/images; # Ein Verzeichnis zum Speichern von Bilddateien erstellen chmod -R 755 /data/images; # Autorisieren cd /data/images; 
Verwenden Sie dann den Befehl rz, um ein Bild 01.png hochzuladen

vim /etc/nginx.conf, Konfiguration hinzufügen:

Standort /Bilder {
 Wurzel /Daten;
 Autoindex aktiviert;
}

Browsereingabe:
111.222.333.444/data/images/01.png;
Ein Bild wird angezeigt und zeigt den Erfolg an.

Verwenden der Aliaskonfiguration

Natürlich können Sie auch Aliase verwenden:

Standort /Bilder {
 Alias ​​/data/images; # Es wird gesagt, dass „/“ am Ende hinzugefügt werden muss, aber in der Praxis kann Autoindex auch ohne ausgeführt werden.
}

Der folgende Text weist Probleme auf:

Standort /Bilder {
 Alias ​​/Daten; 
 Autoindex aktiviert; 
}

Wo liegt das Problem?
Die Eingabe von /images/01.png in die Adressleiste führt nicht zum Erfolg.
Da /images auf /data abgebildet werden,
Aber das eigentliche Verzeichnis ist /data/images/01.png,
Es gibt also ein Bild weniger.

Fehlkonfiguration

In der Realität läuft es möglicherweise nicht ganz so reibungslos und es gibt zahlreiche Fallstricke.

Falsche Konfiguration, Beispiel 1 (Root)

Standort /Bilder {
 Stammverzeichnis /Daten/Bilder;
 Autoindex aktiviert;
}

Geben Sie ip/data/images/01.png in die Adressleiste ein und stellen Sie fest, dass es nicht abgerufen werden kann. Warum?

Voraussichtliche Adresse:
/data/images/01.png
Physische Adresse:
/data/images/images/01.png

Gefunden, es gibt noch ein Bild,
Da root verwendet wird, Adresse = root + Standort

andere

Der Unterschied zwischen Root und Alias

Wurzel alias
Adresse Stammverzeichnis + Standort Wenn keine Übereinstimmung gefunden wird, Alias ​​+ Standort
Wenn eine Übereinstimmung gefunden wird, wird der Teil des Alias, der mit dem Standort übereinstimmt, ersetzt

Es gibt noch weitere Unterschiede. Es heißt, dass auf den Aliaspfad / folgen muss, dies wurde jedoch nicht überprüft.

Was macht Autoindex?

Autoindex: Verzeichnissuche einrichten.
an: Die Dateiliste wird angezeigt, wenn die Adressleiste zu Bildern geht
aus: Der vollständige Pfad der Datei ist erforderlich, und die Seite, die nur zum Verzeichnis führt, fordert 403 verboten auf

Standort /Bilder {
 	Alias ​​/Daten;
 	# Verzeichnis-Durchsuchfunktion, ein: Die Adressleiste zeigt die Dateiliste an, wenn Bilder erreicht werden. Aus: Der vollständige Pfad der Datei ist erforderlich und es wird nur dann eine 403-Verboten-Meldung angezeigt, wenn die Verzeichnisseite erreicht wird.
 Autoindex aktiviert; 
}

ps: Der Unterschied zwischen Root und Alias ​​in der Nginx-Konfiguration

Beispiel: Wenn Sie auf das Verzeichnis http://127.0.0.1/download/* zugreifen, lassen Sie es in das Verzeichnis /opt/app/code wechseln, um es zu finden.

Methode 1 (mit dem Schlüsselwort „root“):

Standort / {
root /usr/share/nginx
}
Standort /Download {
gzip_static aus;
tcp_nopush aus;
Stammverzeichnis /opt/app/code;
}

Ergebnis: Beim Zugriff hat er zur Suche das Verzeichnis /opt/app/code/download/ aufgerufen. Das heißt: Es wird eine weitere Ebene des /download-Verzeichnisses in diesem Verzeichnis hinzugefügt

Methode 2 (mit dem Schlüsselwort „Alias“):

Standort / {
root /usr/share/nginx
}
Standort /Download {
gzip_static aus;
tcp_nopush aus;
Alias ​​/opt/app/code;
}

Ergebnis: Gehen Sie beim Zugriff direkt in das Verzeichnis /opt/app/code/.

Zusammenfassen

Dies ist das Ende dieses Artikels zum Erstellen eines Image-Servers mit nginx (der Unterschied zwischen Root und Alias). Weitere Informationen zum Erstellen eines Image-Servers mit nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Konfiguration des Nginx+RTMP+HLS+HTTPFLV-Servers in Ubuntu 18.04 zur Realisierung von On-Demand-/Live-Broadcast-/Aufnahmefunktionen
  • Tutorial zur Installation des Nginx-RTMP-Streaming-Servers unter Ubuntu 14
  • Nginx-rtmp realisiert den Echtzeit-Streaming-Effekt von Live-Medien
  • Nginx verwendet das Modul nginx-rtmp-module, um die Live-Broadcast-Raumfunktion zu realisieren
  • Detaillierte Schritte zum Erstellen eines Nginx+RTMP-Liveservers auf dem Mac
  • So richten Sie einen URL-Link im Nginx-Server ein
  • Verwenden Sie Nginx, um einen Streaming-Media-Server zu erstellen und die Live-Übertragungsfunktion zu realisieren
  • So verwenden Sie nginx, um auf lokale statische Ressourcen auf einem Linux-Server zuzugreifen
  • Nginx erstellt Implementierungscode für RTMP-Liveserver

<<:  Detaillierte Erklärung der Javascript-String-Methoden

>>:  Implementierung der MySQL5.7 mysqldump-Sicherung und -Wiederherstellung

Artikel empfehlen

Implementierung eines Random Roll Callers basierend auf JavaScript

In diesem Artikel wird der spezifische JavaScript...

Detaillierte Ansicht versteckter Spalten in MySQL

Inhaltsverzeichnis 1. Primärschlüssel vorhanden 2...

Lösung für FEHLER 1054 (42S22) beim Ändern des Passworts in MySQL 5.7

Ich habe MySQL 5.7 neu installiert. Beim Anmelden...

Auszeichnungssprache - für

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18

In diesem Artikel wird das grafische Tutorial zur...

Verwandte Befehle zur vollständigen Deinstallation von Nginx unter Ubuntu 16.04

nginx Übersicht nginx ist ein kostenloser, quello...

Vue implementiert die Funktion zum Aufrufen der Handykamera und des Albums

In diesem Artikel wird der spezifische Code von V...

nginx+tomcat-Beispiel für den Zugriff auf das Projekt über den Domänennamen

Ich wollte wissen, wie ich mit einem Domänennamen...

Detailliertes Tutorial zur Offline-Installation von MySQL unter CentOS7

1. Löschen Sie die ursprüngliche MariaDB, sonst k...

Wertschätzung des dezenten und eleganten Webdesigns in Schwarz, Weiß und Grau

Unter den klassischen Farbkombinationen kann wohl...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

100 Möglichkeiten, die Farbe eines Bildes mit CSS zu ändern (sammelnswert)

Vorwort „Wenn es um Bildbearbeitung geht, denken ...

Zusammenfassung der Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass S...