échec de getpwnam («www») dans /etc/nginx/nginx.conf


24

J'ai copié l' exemple nginx.conf sur ma boîte ubuntu 12.04 (je ne sais pas où placer les autres fichiers de conf. Je suis un noob nginx). Lorsque j'essaie de démarrer nginx, j'obtiens l'erreur suivante:

abe-lens-laptop@abe:/etc$ sudo service nginx start
Starting nginx: nginx: [emerg] getpwnam("www") failed in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

Que signifie cette erreur? Comment puis-je le réparer? J'ai trouvé ce message mais mon utilisateur est déjà configuré sur www www (si vous voyez dans le fichier lié) Comment puis-je changer l'utilisateur NGINX?


Le lien vers nginx.config est rompu
Josh Noe

Réponses:



8

Votre autre option (si vous ne voulez pas créer un nouvel utilisateur) est de remplacer le champ utilisateur dans nginx.conf par:

user nobody;

3

Créez l' wwwutilisateur. Sur Ubuntu, cela devrait être fait en utilisant la commande et les drapeaux suivants:

sudo adduser --system --no-create-home --shell /bin/false --group --disabled-login www

0

Bien que la réponse de Michael Hamptons soit correcte, ce n'est qu'une partie de la réponse. Une version plus complète serait:

  1. Vérifiez si l'utilisateur existe
  2. Vérifiez également quel utilisateur vous utilisez pour démarrer le conteneur Docker

Si tu fais:

docker -u 0 ....

alors le même message apparaîtra même si l'utilisateur existe sur le système hôte. Changer la valeur derrière -u à ​​l'id de l'utilisateur nginx résout alors ce problème.


0

version nginx: nginx / 1.13.9 construit par gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) construit avec OpenSSL 1.1.0g 2 novembre 2017

il suffit d'utiliser

user  nobody nogroup;

0

Ceci est la commande qui fonctionne pour moi "Scientific Linux"

adduser  --no-create-home  --system  --user-group --shell /bin/false   www

ou le nom d'utilisateur www-datasi vous l'utilisez à la place

adduser  --no-create-home  --system  --user-group --shell /bin/false   www-data  

-1

J'ai eu le même problème ... J'ai choisi l'utilisateur "nginx" et il n'existait pas. Je l'ai résolu en reconfigurant et en recompilant NGINX en choisissant un existant.

./configure --prefix = / opt / nginx --user = myUser --group = myUsergroup

Tout va bien maintenant...


Les options de compilation sont un moyen de définir des valeurs par défaut pour certaines directives. Il n'est bien sûr pas nécessaire de recompiler nginx pour les modifier: ces valeurs par défaut sont surchargées par les fichiers de configuration.
Xavier Lucas

Bien sûr, mais nous parlons de la première configuration / compilation ...
Jorge Luis Guacarán

Où avez-vous lu cela exactement? La première configuration n'a rien à voir avec la compilation btw.
Xavier Lucas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.