Maison  >  Article  >  développement back-end  >  Explication détaillée des autorisations dans le projet php + nginx

Explication détaillée des autorisations dans le projet php + nginx

墨辰丷
墨辰丷original
2018-05-22 11:31:531257parcourir

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 :

Comment modifier la configuration nginx du fichier d'accès par défaut sur un site Web PHP - exemple d'analyse

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn