Cet article vous présente principalement les informations pertinentes sur les autorisations dans le projet php + nginx. L'article est très détaillé et a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin peuvent y jeter un œil ci-dessous.
nginx/php-fpm
Autorisations de processus
Maître L'utilisateur du processus est l'utilisateur qui a démarré
le processus enfant
1. L'utilisateur de nginx est l'utilisateur configuré dans nginx.conf
2. L'utilisateur de php-fpm est l'utilisateur configuré dans php-fpm.conf
Par exemple : root est celui qui démarre nginx, et l'utilisateur configuré dans nginx est nginx, alors le processus principal est root, le sous-processus est nginx
Méthode de traitement
Les accès suivants se font via le sous-processus nginx processus
Fichiers statiques
Étape : Lorsque nginx accède à /index.html, nginx accédera directement au fichier correspondant et renverra le contenu au client demandeur.
Statut des autorisations : pour le moment, seul nginx doit disposer d'autorisations pour le fichier index.html.
fichier de script php
Étapes :
accès nginx/ index.php, pour que nginx renvoie les résultats corrects du traitement du script au client, il doit être configuré pour indiquer à nginx.php qu'il s'agit d'un fichier non statique et qu'il doit être traité par l'analyseur de script PHP avant le contenu peut être retourné.
De manière générale, un élément de configuration comme fastcgi_pass unix:/var/run/php5-fpm.sock; sera ajouté à la configuration de nginx pour indiquer que nginx rencontre un fichier de script d'accès. À qui devez-vous vous adresser ? Vous accéderez ensuite au fichier pour transmettre la demande à php-fpm.
Le vrai fichier de script php est accessible par php-fpm, et le résultat est renvoyé à nginx, et nginx renvoie le résultat au client.
Autorisations :
nginx doit avoir les autorisations du fichier /var/run/php5-fpm.sock ;
php-fpm nécessite l'autorisation du fichier /index.php
Emplacement de la configuration utilisateur
L'utilisateur nginx est défini sur user dans la première ligne de nginx.conf
l'utilisateur php-fpm est défini sur
Listen.owner = xxx; définir l'utilisateur du socket Unix
user = xxx définir l'utilisateur de démarrage du processus
Remarque : Les noms de fichiers des deux fichiers de configuration ci-dessus sont légèrement différents selon les systèmes d'exploitation. Veuillez faire votre propre jugement en fonction de vos propres conditions d'installation.
nginx transmet le contenu à php-fpm non seulement via /var/run/php5-fpm.sock, mais également via la configuration dans php-fpm.conf vers xxx.xxx.xxx:9000, etc.
; 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
Autres
Un point particulier est que généralement nginx est démarré avec l'utilisateur root (dans afin d'obtenir les autorisations du port 80), si le nginx de développement local est redémarré en tant qu'utilisateur normal, alors le processus principal et le processus enfant seront l'utilisateur actuel, et la configuration dans nginx.conf ne prendra plus effet. pas encore clair.
Recommandations associées :
Explication détaillée des étapes pour recadrer dynamiquement des images en php dans nginx
Explication détaillée des étapes pour obtenir une sortie en temps réel avec php nginx
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!