getgrnam (“user”) falhou em /etc/nginx/nginx.conf

4

Estou tentando executar o nginx como o usuário atual (= ayush). Mas recebo o seguinte erro ao definir a diretiva user :

Dec 11 22:26:13 manjaro nginx[17194]: 2015/12/11 22:26:13 [emerg] 17194#0: getgrnam("ayush") failed in /etc/nginx/nginx.conf:1
Dec 11 22:26:13 manjaro systemd[1]: nginx.service: Control process exited, code=exited status=1

meu nginx.conf:

user ayush;
worker_processes 1;

error_log  /var/log/nginx/error.log;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;


        location / {
            root   /code/server;
            autoindex on;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}

também:

ayush@manjaro ~> whoami
ayush
    
por Ayush Shanker 11.12.2015 / 18:00

3 respostas

11

A diretiva user usa dois parâmetros, seu usuário e o nome do seu grupo. Se você não especificar um nome de grupo, ele assumirá que é o mesmo que seu nome de usuário.

O erro é porque o nome do grupo ayush não existe.

Veja este documento para detalhes.

    
por 11.12.2015 / 18:16
3

No nome do grupo MacOS, há um número (use o comando: id -g -n $ whoami ou abra a configuração do MacOS - > Usuários e grupos - > Clique com o botão direito na sua conta e escolha Opções avançadas). Mas o nginx só funciona se eu especificar o nome do grupo como 'staff'.

Minha configuração do nginx:

equipe do usuário MyUserName; ...

    
por 05.11.2017 / 06:57
1

Você precisa especificar dois parâmetros para user directive, seu usuário e o nome do seu grupo. Se nenhum nome de grupo for especificado, ele assumirá que é o mesmo que o usuário, o que parece ser o problema no seu caso, ou seja, o nome do seu grupo não é o mesmo que o usuário (ayush).

Para ver seu nome de usuário, execute o seguinte comando:

whoami

Para ver o nome do seu grupo, execute o seguinte comando:

id -g -n $whoami 
    
por 02.03.2017 / 05:13