getgrnam ("Benutzer") ist in /etc/nginx/nginx.conf fehlgeschlagen

9

Ich versuche, nginx als aktuellen Benutzer auszuführen (= ayush). Beim Festlegen der userDirektive wird jedoch der folgende Fehler angezeigt:

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

meine 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;
        }
    }
}

ebenfalls:

ayush@manjaro ~> whoami
ayush
Ayush
quelle

Antworten:

16

Die userDirektive akzeptiert zwei Parameter, Ihren Benutzer und Ihren Gruppennamen. Wenn Sie keinen Gruppennamen angeben, wird davon ausgegangen, dass er mit Ihrem Benutzernamen identisch ist.

Der Fehler liegt darin, dass der Gruppenname ayushnicht vorhanden ist.

Weitere Informationen finden Sie in diesem Dokument .

Richard Smith
quelle
5

In MacOS ist der Gruppenname eine Nummer (Verwenden Sie den Befehl: id -g -n $ whoami oder öffnen Sie die MacOS-Einstellung -> Benutzer und Gruppen -> Klicken Sie mit der rechten Maustaste auf Ihr Konto und wählen Sie Erweiterte Optionen). Nginx funktioniert jedoch nur, wenn ich den Gruppennamen als 'staff' angebe.

Meine Nginx-Konfiguration:

Benutzer MyUserName Mitarbeiter; ...

bigbangvn
quelle
1

Sie müssen zwei Parameter für die userDirektive angeben , Ihren Benutzer und Ihren Gruppennamen. Wenn kein Gruppenname angegeben ist, wird davon ausgegangen, dass er mit dem Benutzer identisch ist. Dies scheint in Ihrem Fall das Problem zu sein, dh Ihr Gruppenname ist nicht mit dem Benutzer identisch (ayush).

Führen Sie den folgenden Befehl aus, um Ihren Benutzernamen anzuzeigen:

whoami

Führen Sie den folgenden Befehl aus, um Ihren Gruppennamen anzuzeigen:

id -g -n $whoami 
Shivam Aggarwal
quelle