Comment puis-je changer l'utilisateur NGINX?

J'ai un script PHP qui crée un répertoire et produit une image dans le répertoire. Cela fonctionnait très bien sous Apache, mais nous avons récemment décidé de passer à NGINX pour utiliser davantage notre RAM limitée. J'utilise la commande PHP mkdir () pour créer le répertoire:

mkdir(dirname($path['image']['server']), 0755, true); 

Après le passage à NGINX, je reçois l'avertissement suivant:

 Warning: mkdir(): Permission denied in ... 

J'ai déjà vérifié toutes les autorisations des répertoires parents, alors j'ai déterminé que je devais probablement changer l'utilisateur NGINX ou PHP-FPM, mais je ne sais pas trop comment faire (je n'ai jamais eu à préciser l'utilisateur Autorisations pour APACHE). Je ne peux pas trouver beaucoup d'informations à ce sujet. Toute aide est la bienvenue!

(Note: En plus de ce petit raccrochage, le passage à NGINX a été assez transparent, je l'utilise pour la première fois et il a littéralement seulement pris environ 10 minutes pour démarrer avec NGINX. Maintenant, je suis à repasser À l'écart.)

  • Nginx + PHP-FPM = "autorisation refusée" erreur 13 dans nginx log; Erreur de configuration?
  • Nginx n'a pas enregistré des erreurs PHP
  • Rien n'est écrit en php5-fpm.log
  • La mise à jour de PHP enfonce toujours les permissions de dossier de session
  • Nginx et PHP-FPM sont hors connection
  • NginX et PHP-FPM, 502 au hasard
  • php-fpm et nginx @ haute utilisation du processeur?
  • Nginx et PHP FPM sont lents
  • 3 Solutions collect form web for “Comment puis-je changer l'utilisateur NGINX?”

    Exécutez nginx & php-fpm sous www www

    1. Nginx

    Modifier nginx.conf et configurer l' utilisateur sur www www;

    Si le processus maître est exécuté en tant que root, nginx réglera () / setgid () vers USER / GROUP. Si GROUP n'est pas spécifié, nginx utilise le même nom que l'UTILISATEUR. Par défaut, il n'y a aucun utilisateur ni personne ou groupe nogroup ou le –user = USER et –group = GROUP à partir du script ./configure.

    2. PHP-FPM

    Éditez php-fpm.conf et configurez l'utilisateur et le groupe sur www .

    Utilisateur – utilisateur Unix des processus. Par défaut "www-data"

    Groupe – groupe de processus Unix. Par défaut "www-data"

    Dans Ubuntu 14.04, le fichier à modifier utilisateur et groupe dans PHP-FPM est: /etc/php5/fpm/pool.d/www.conf . Dans ce fichier, modifiez ces paramètres:

     user = www group = www listen.owner = www listen.group = www 

    Pour répondre à votre question réelle, il suffit de changer la ligne user dans nginx.conf :

     user [username]; 

    Exemple:

     user www-data; 

    L'utilisateur préféré pour Nginx à exécuter comme diffère réellement entre les systèmes d'exploitation. Parfois, Nginx est supposé fonctionner comme www-data . D'autres fois, il est censé courir comme nobody .

    Sur certains systèmes d'exploitation (tels que Windows), cela n'a même pas d'importance et la ligne user dans nginx.conf peut être commentée ou exclue.

    Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.