O usuário que você especificou em sua configuração, www
, não existe. Crie o usuário ou escolha um usuário que existe.
Copiei o exemplo nginx.conf para minha caixa do Ubuntu 12.04 (não sei onde colocar os outros arquivos conf Eu sou um noob nginx). Quando tento iniciar o nginx, recebo o seguinte erro:
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
O que esse erro significa? Como posso consertar isso? Eu encontrei este post, mas meu usuário já está definido para www www (se você ver no arquivo vinculado) Como faço para mudar o usuário do NGINX?
Sua outra opção (se você não quiser criar um novo usuário) é substituir o campo user em nginx.conf por:
user nobody;
Crie o usuário www
. No Ubuntu, isso deve ser feito usando o seguinte comando e sinalizadores:
sudo adduser --system --no-create-home --shell /bin/false --group --disabled-login www
Embora a resposta de Michael Hamptons esteja correta, é apenas parte da resposta. Uma versão mais completa seria:
Se você fizer isso:
docker -u 0 ....
a mesma mensagem aparecerá, mesmo que o usuário exista no sistema host. Alterar o valor atrás de -u para o id do usuário nginx resolve esse problema.
Eu tive o mesmo problema ... Eu escolhi o usuário "nginx" e ele não existia. Eu resolvi reconfigurar e recompilar o NGINX escolhendo um já existente.
./configure --prefix = / opt / nginx --user = meuUsuário --group = myUsergroup
Tudo está OK agora ...
versão nginx: nginx / 1.13.9 construído pelo gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) construído com o OpenSSL 1.1.0g 2 de novembro de 2017
é só usar
user nobody nogroup;
Tags nginx linux web-server