/etc/nginx/nginx.conf 中的 getgrnam(“user”) 失败

/etc/nginx/nginx.conf 中的 getgrnam(“user”) 失败

我尝试以当前用户 (=ayush) 身份运行 nginx。但在设置指令时出现以下错误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

我的 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;
        }
    }
}

还:

ayush@manjaro ~> whoami
ayush

答案1

user指令有两个参数:您的用户和您的组名。如果您未指定组名,则它假定它与您的用户名相同。

该错误是由于组名ayush不存在。

这个文件了解详情。

答案2

在 MacOS 中,组名是一个数字(使用命令:id -g -n $whoami 或打开 MacOS 设置 -> 用户和组 -> 右键单击​​您的帐户并选择高级选项)。但只有当我将组名指定为“staff”时,nginx 才会起作用。

我的 nginx 配置:

用户 MyUserName 工作人员;...

答案3

您需要为指令指定两个参数user,即您的用户和您的组名。如果没有指定组名,它将假定它与用户相同,这似乎是您的情况中的问题,即您的组名与用户(ayush)不同。

要查看您的用户名,请执行以下命令:

whoami

要查看您的组名,请执行以下命令:

id -g -n $whoami 

相关内容