Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der PHP- und Nginx-Berechtigungen

Detaillierte Erläuterung der PHP- und Nginx-Berechtigungen

巴扎黑
巴扎黑Original
2017-08-13 11:25:121807Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn