getpwnam ("www") falló en /etc/nginx/nginx.conf

24

Copié la muestra nginx.conf en mi cuadro ubuntu 12.04 (no sé dónde poner los otros archivos conf. Soy un novato nginx). Cuando intento iniciar nginx me sale el siguiente error:

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

¿Qué significa este error? ¿Cómo puedo arreglarlo? Encontré esta publicación pero mi usuario ya está configurado en www www (si ve en el archivo vinculado) ¿Cómo cambio el usuario de NGINX?

bernie2436
fuente
Enlace a nginx.config está roto
Josh Noe

Respuestas:

33

El usuario que especificó en su configuración, wwwno existe. Cree el usuario o elija un usuario que exista.

Michael Hampton
fuente
3
la sintaxis es: useradd www
Jonesome Reinstate Monica
8

Su otra opción (si no desea crear un nuevo usuario) es reemplazar el campo de usuario en nginx.conf con:

user nobody;
Aaron_H
fuente
3

Crea el wwwusuario. En Ubuntu, esto debe hacerse usando el siguiente comando y banderas:

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

Si bien la respuesta de Michael Hamptons es correcta, es solo una parte de la respuesta. Una versión más completa sería:

  1. Verificar si el usuario existe
  2. También verifique qué usuario utiliza para iniciar el contenedor acoplable

Si lo haces:

docker -u 0 ....

entonces aparecerá el mismo mensaje incluso si el usuario existe en el sistema host. Cambiar el valor detrás de -u a la identificación del usuario nginx resuelve este problema.

usuario637338
fuente
0

Versión nginx: nginx / 1.13.9 compilada por gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) compilada con OpenSSL 1.1.0g 2 de noviembre de 2017

Solo usa

user  nobody nogroup;
Rochmad Saputra
fuente
0

Este es el comando que funciona para mí "Scientific Linux"

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

o el nombre de usuario www-datasi lo usa en su lugar

adduser  --no-create-home  --system  --user-group --shell /bin/false   www-data  
Salem F
fuente
-1

Tuve el mismo problema ... Elegí el usuario "nginx" y no existía. Lo resolví reconfigurando y recompilando NGINX eligiendo uno existente.

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

Ahora todo esta bien...

Jorge Luis Guacarán
fuente
Las opciones de compilación son una forma de establecer valores predeterminados para algunas directivas. Por supuesto, no es necesario compilar nginx nuevamente para cambiarlos: los archivos de configuración sobrecargan estos valores predeterminados.
Xavier Lucas
Por supuesto, pero estamos hablando de la primera configuración / compilación ...
Jorge Luis Guacarán
¿Dónde leíste eso exactamente? La primera configuración no tiene nada que ver con la compilación por cierto.
Xavier Lucas