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

So stellen Sie einen Code-Server mit Docker bereit

Ziehen Sie das Bild # Docker-Pull Codercom/Code-S...

Implementierung eines Element-Eingabefelds, das automatisch den Fokus erhält

Beim Erstellen eines Formulars in einem aktuellen...

Einführung in semantische XHTML-Tags

Der erste Punkt ist, dass Menschen die Semantik vo...

Einführung in /etc/my.cnf-Parameter in MySQL 5.7

Nachfolgend finden Sie einige allgemeine Paramete...

MySQL-Installationstutorial unter Centos7

Tutorial zur MySQL-Installation. Zu Ihrer Informa...

Detaillierte Erklärung der Eigenschaften und Funktionen von Vuex

Inhaltsverzeichnis Was ist Vuex? Fünf Eigenschaft...

Zwei Möglichkeiten zum Einführen von SVG-Symbolen in Vue

So führen Sie SVG-Symbole in Vue ein Methode 1 zu...

Docker-Netzwerkprinzipien und detaillierte Analyse benutzerdefinierter Netzwerke

Docker virtualisiert eine Brücke auf dem Host-Rec...

JavaScript-Modularität erklärt

Inhaltsverzeichnis Vorwort: 1. Konzept 2. Die Vor...

Elegantere Verarbeitung von Datumsangaben in JavaScript basierend auf Day.js

Inhaltsverzeichnis Warum day.js verwenden? Moment...