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

Einführung in die Verwendung von Unicode-Zeichen in Webseiten (&#, \u usw.)

Die ersten Computer konnten nur ASCII-Zeichen ver...

Verwenden von CSS3 zum Implementieren eines Schriftfarbverlaufs

Beim Verwenden von Animation.css habe ich festges...

Mehrere Möglichkeiten zum Sichern einer MySql-Datenbank

mysqldump-Tool-Sicherung Sichern Sie die gesamte ...

Detaillierte Einführung und Verwendungsbeispiele für Map-Tag-Parameter

Karten-Tags müssen paarweise vorkommen, d. h. <...

So bereinigen Sie Daten in einer MySQL-Onlinedatenbank

Inhaltsverzeichnis 01 Szenarioanalyse 02 Funktion...

So ändern Sie das Root-Passwort in MySQL 5.7

Ab MySQL 5.7 wurden viele Sicherheitsupdates hinz...

Lösung für die Auswirkungen leerer Pfade auf die Seitenleistung

Vor ein paar Tagen habe ich einen von Yu Bo getei...

So stellen Sie das umfassende Benutzererlebnis sicher

Verwandte Artikel: Website-Design für Benutzererfa...

So passen Sie geplante AT- und Cron-Aufgaben in Linux an

Es gibt zwei Arten von geplanten Tasks im Linux-S...

impress.js Präsentationsschicht-Framework (Demonstrationstool) - erste Erfahrungen

Ich habe ein halbes Jahr lang nicht gebloggt, wofü...