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

Explication détaillée des autorisations php + nginx

巴扎黑
巴扎黑original
2017-08-13 11:25:121809parcourir

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.

Cet article vous présente le contenu pertinent sur les autorisations du projet php + nginx et le partage pour votre référence et votre étude. Jetons un coup d'œil à l'introduction détaillée :

. nginx/ php-fpm

Autorisations de processus

  • L'utilisateur principal du processus est l'utilisateur qui l'a démarré

  • Sous-processus

1 L'utilisateur de nginx est l'utilisateur configuré dans nginx.conf

2. php- L'utilisateur de 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, puis le le processus principal est root et le processus enfant est nginx

Méthode de traitement

Les accès suivants sont effectués par le sous-processus nginx

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 dans /var/run/php5-fpm.sock, mais également dans php-fpm.conf via la configuration 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 nginx est généralement démarré avec l'utilisateur root (pour Obtenir le port 80 autorisations), si le développement local nginx 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. La raison n'est pas encore claire.

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