Nginx-Standortkonfiguration für Unterordner
In diesem Artikel erfahren Sie, wie Sie Nginx so konfigurieren, dass Inhalte aus zwei Unterordnern bereitgestellt werden, einem unter der Root-Pfad und der andere unter einer bestimmten URL.
Betrachten Sie das folgende Verzeichnis Struktur:
/var/www/myside/ ├── static ├── manage
Unser Ziel ist es, den Ordner /static unter der Stamm-URL (z. B. http://example.org/) und den Ordner /manage unter /manage (z. B. http) zugänglich zu machen ://example.org/manage). In diesem Fall enthält der Ordner /manage den PHP-Framework-Code von Slim, wobei sich die eigentliche PHP-Datei in /var/www/mysite/manage/public/index.php befindet.
Nginx-Konfiguration
Um dies zu erreichen, können wir die Standortanweisung von Nginx verwenden. Hier ist eine mögliche Konfiguration:
server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite; location / { root /var/www/mysite/static; index index.html; } location /manage { alias /var/www/mysite/manage/public; index index.php; if (!-e $request_filename) { rewrite ^ /manage/index.php last; } location ~ \.php$ { if (!-f $request_filename) { return 404; } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; } }
Erklärung
Lassen Sie uns die Konfiguration aufschlüsseln:
Verwendung von Alias vs. Root
Bei der Verwendung von Alias stellt Nginx Dateien aus dem angegebenen Verzeichnis bereit und behält dabei das Original bei URI. Dies ist für unseren Zweck nützlich, da wir möchten, dass der /manage-URI auf das Verzeichnis /var/www/mysite/manage/public verweist.
Im Gegensatz dazu ändert root das Stammverzeichnis für den Standortblock, also Es ist nicht für unser Szenario geeignet, in dem wir verschiedene Unterordner von verschiedenen Standorten aus bedienen möchten.
Regel neu schreiben für index.php
Die Rewrite-Regel stellt sicher, dass Anfragen für nicht vorhandene Dateien im Ordner /manage an index.php umgeleitet werden. Dadurch kann die PHP-Anwendung von Slim die Anfrage verarbeiten.
PHP-Dateiverarbeitung
Beide Speicherortblöcke für die PHP-Dateiverarbeitung enthalten die erforderliche Konfiguration zum Ausführen von PHP-Skripten wie FastCGI Einstellungen und Variablen. Die fastcgi_pass-Direktive leitet PHP-Anfragen an einen PHP-FastCGI-Server weiter.
Abschlussbemerkungen
Stellen Sie sicher, dass Ihr PHP-FastCGI-Server läuft und ordnungsgemäß konfiguriert ist. Dieses Setup sollte es Ihnen ermöglichen, Inhalte aus den Unterordnern /static und /manage korrekt bereitzustellen.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich Nginx für die Bereitstellung von Inhalten aus zwei Unterordnern mit unterschiedlichen Stammpfaden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!