web-dev-qa-db-ja.com

getgrnam( "user")が/etc/nginx/nginx.confで失敗しました

現在のユーザー(= 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
9
Ayush

userディレクティブは、ユーザー名とグループ名の2つのパラメーターを取ります。グループ名を指定しない場合、ユーザー名と同じであると見なされます。

エラーは、グループ名ayushが存在しないためです。

詳細は このドキュメント を参照してください。

15
Richard Smith

MacOSでは、グループ名は数字です(コマンド:id -g -n $ whoamiを使用するか、MacOS設定->ユーザーとグループ->アカウントを右クリックして[詳細オプション]を選択します)。しかし、nginxは、グループ名を「スタッフ」として指定した場合にのみ機能します。

私のnginx設定:

ユーザーMyUserNameスタッフ。 ...

5
bigbangvn

userディレクティブには、ユーザー名とグループ名の2つのパラメーターを指定する必要があります。グループ名が指定されていない場合、それはユーザーと同じであると想定されます。これは、あなたの場合に問題のようです。つまり、グループ名がuser(ayush)と同じではありません。

ユーザー名を確認するには、次のコマンドを実行します。

whoami

グループ名を確認するには、次のコマンドを実行します。

id -g -n $whoami 
1
Shivam Aggarwal