Sichere Server sind Server, die nur die erforderliche Anzahl zulassen. Idealerweise würden wir den Server auf Basis eines Minimalsystems aufbauen, indem wir andere Funktionen einzeln aktivieren. Eine minimale Konfiguration hilft auch beim Debuggen. Wenn der Fehler in einem Minimalsystem nicht verfügbar ist, fügen Sie die Funktionalität einzeln hinzu und suchen Sie weiter nach dem Fehler.
Dies ist die Mindestkonfiguration, die zum Ausführen von Nginx erforderlich ist:
# /etc/nginx/nginx.confevents {} # event context have to be defined to consider config validhttp { server { listen 80; server_name javatpoint.co www.javatpoint.co *.javatpoint.co; return 200 "Hello"; }
Root-Direktive wird verwendet, um das Stammverzeichnis von Anforderungen festzulegen, sodass Nginx eingehende Anforderungen dem Dateisystem zuordnen kann Vorgesetzter.
server { listen 80; server_name javatpoint.co; root /var/www/javatpoint.co;}
Es ermöglicht Nginx, Serverinhalte basierend auf der Anfrage zurückzugeben:
javatpoint.co:80/index.html # returns /var/www/learnfk.com/index.htmljavatpoint.co:80/foo/index.html # returns /var/www/learnfk.com/foo/index.html
Die Location-Direktive wird verwendet, um die Konfiguration basierend auf dem angeforderten URI (Uniform Resource Identifier) festzulegen.
Die Syntax lautet:
location [modifier] path
Beispiel:
location /foo { # ...}
Wenn kein Modifikator angegeben ist, wird der Pfad als Präfix behandelt und alles kann folgen. Das obige Beispiel passt zu:
/foo/fooo/foo123/foo/bar/index.html...
Wir können in einem bestimmten Kontext auch mehrere Standortanweisungen verwenden:
server { listen 80; server_name javatpoint.co; root /var/www/javatpoint.co; location/{ return 200 "root"; } location /foo { return 200 "foo"; }}javatpoint.co:80 / # => "root"javatpoint.co:80 /foo # => "foo"javatpoint.co:80 /foo123 # => "foo"javatpoint.co:80 /bar # => "root"
Nginx stellt auch einige Modifikatoren bereit, die in Verbindung mit der Standortanweisung verwendet werden können.
Durchsuchen Sie das offizielle Backend der chinesischen Linux-Community und antworten Sie auf „Private Küche“, um ein Überraschungsgeschenkpaket zu erhalten.
Modifikator zugewiesene Priorität:
= - Exact match^~ - Preferential match~ && ~* - Regex matchno modifier - Prefix match
Zunächst prüft Nginx, ob alle exakten Übereinstimmungen vorliegen. Wenn sie nicht vorhanden ist, wird nach der bevorzugten Option gesucht. Wenn auch diese Übereinstimmung fehlschlägt, werden Übereinstimmungen mit regulären Ausdrücken in der Reihenfolge getestet, in der sie erscheinen. Wenn alles andere fehlschlägt, wird die letzte Präfixübereinstimmung verwendet.
location /match { return 200 'Prefix match: will match everything that starting with /match';}location ~* /match[0-9] { return 200 'Case insensitive regex match';}location ~ /MATCH[0-9] { return 200 'Case sensitive regex match';}location ^~ /match0 { return 200 'Preferential match';}location = /match { return 200 'Exact match';}/match # => 'Exact match'/match0 # => 'Preferential match'/match1 # => 'Case insensitive regex match'/MATCH1 # => 'Case sensitive regex match'/match-abc # => 'Prefix match: matches everything that starting with /match'
Diese Direktive probiert verschiedene Pfade aus und gibt alle gefundenen zurück.
try_files $uri index.html =404;
Also wird /foo.html versuchen, Dateien in der folgenden Reihenfolge zurückzugeben:
$uri(/foo.html);index.html
Wenn nicht gefunden: 404
如果我们在服务器上下文中定义try_files,然后定义查找所有请求的位置,则不会执行try_files。发生这种情况是因为服务器上下文中的try_files定义了其伪位置,该伪位置是可能的最低特定位置。因此,定义location/ 会比我们的伪位置更具体。
server { try_files $uri /index.html =404; location/{ }}
因此,我们应该避免在服务器上下文中使用try_files:
server { location/{ try_files $uri /index.html =404; }}
Das obige ist der detaillierte Inhalt vonNginx – minimale Konfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!