Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zu Berechtigungen im PHP + Nginx-Projekt ein. Der Artikel ist sehr detailliert und hat einen gewissen Referenz- und Lernwert für alle Freunde, die ihn unten lesen können.
Dieser Artikel stellt Ihnen die relevanten Inhalte zu PHP + Nginx-Projektberechtigungen vor und stellt sie Ihnen als Referenz und zum Studium zur Verfügung. Schauen wir uns die ausführliche Einführung an:
nginx/ php-fpm
Prozessberechtigungen
Der Hauptprozessbenutzer ist der Benutzer, der es gestartet hat
Unterprozess
1. Der Benutzer von nginx ist der in nginx.conf
2. php- Der Benutzer von fpm ist der in php-fpm.conf konfigurierte Benutzer
Zum Beispiel: root ist derjenige, der nginx startet, und der in nginx konfigurierte Benutzer ist dann nginx Der Hauptprozess ist Root und der untergeordnete Prozess ist Nginx
Verarbeitungsmethode
Die folgenden Zugriffe werden vom Nginx-Unterprozess ausgeführt
Statische Dateien
Schritt: Wenn Nginx auf /index.html zugreift, greift Nginx direkt auf die entsprechende Datei zu und gibt den Inhalt an den anfordernden Client zurück.
Berechtigungsstatus: Derzeit benötigt nur Nginx Berechtigungen für die Datei index.html.
PHP-Skriptdatei
Schritte:
Nginx-Zugriff/ index.php: Damit Nginx die korrekten Skriptverarbeitungsergebnisse an den Client zurückgibt, muss es so konfiguriert werden, dass es Nginx.php mitteilt, dass es sich um eine nicht statische Datei handelt und vor dem Inhalt vom PHP-Skriptparser verarbeitet werden muss kann zurückgegeben werden.
Im Allgemeinen wird der Nginx-Konfiguration ein Konfigurationselement wie fastcgi_pass unix:/var/run/php5-fpm.sock; hinzugefügt, um anzuzeigen, dass Nginx auf eine Zugriffsskriptdatei stößt. An wen müssen Sie sich wenden? Dann greifen Sie auf die Datei zu, um die Anfrage an php-fpm weiterzuleiten.
Auf die echte PHP-Skriptdatei greift PHP-FPM zu und das Ergebnis wird an Nginx zurückgegeben, und Nginx gibt das Ergebnis an den Client zurück.
Berechtigungen:
nginx muss über /var/run/php5-fpm.sock-Dateiberechtigungen verfügen;
php-fpm erfordert /index.php-Dateiberechtigung
Benutzerkonfigurationsspeicherort
nginx-Benutzer wird in der ersten Zeile von nginx.conf auf user gesetzt
php-fpm-Benutzer wird auf
listen.owner = xxx; Unix-Socket-Benutzer festlegen
Benutzer = xxx Prozessstartbenutzer festlegen
Hinweis: Die Dateinamen der beiden oben genannten Konfigurationsdateien unterscheiden sich geringfügig unter verschiedenen Betriebssystemen. Bitte treffen Sie Ihr eigenes Urteil basierend auf Ihren eigenen Installationsbedingungen.
nginx leitet Inhalte nicht nur über /var/run/php5-fpm.sock an php-fpm weiter, sondern auch über die Konfiguration in php-fpm.conf an xxx.xxx.xxx:9000 usw.
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all IPv4 addresses on a ; specific port; ; '[::]:port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = /var/run/php5-fpm.sock
Andere
Ein besonderer Punkt ist, dass nginx im Allgemeinen mit dem Root-Benutzer gestartet wird (um Port 80 zu erhalten). Berechtigungen), wenn die lokale Entwicklung nginx als normaler Benutzer neu gestartet wird, sind der Hauptprozess und der untergeordnete Prozess der aktuelle Benutzer und die Konfiguration in nginx.conf wird nicht mehr wirksam. Der Grund ist noch nicht klar.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP- und Nginx-Berechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!