2016-07-01 11 views
0

nginx-Server nicht neu starten Service nginx mit Start

this is my error.log
016/07/01 07:38:17 [emerg] 30759 # 0: getpwnam ("nginx") scheiterte in /etc/nginx/nginx.conf:5 2016/07/01 07:48:02 [emerg] 30806 # 0: getpwnam ("nginx") fehlgeschlagen in /etc/nginx/nginx.conf:5 2016/07/01 07:48:44 [emerg] 30832 # 0: getpwnam ("nginx") fehlgeschlagen in /etc/nginx/nginx.conf:5 2016/07/01 08:07:36 [emerg] 30913 # 0: getpwnam ("nginx") fehlgeschlagen in/etc/nginx /nginx.conf:5 2016/07/01 08:07:44 [emerg] 30939 # 0: getpwnam ("nginx") fehlgeschlagen in /etc/nginx/nginx.conf:5 2016/07/01 08: 07:49 [emerg] 30964 # 0: getpwnam ("nginx") fehlgeschlagen in /etc/nginx/nginx.conf:5 2016/07/01 08:13:54 [emerg] 31138 # 0: getpwnam ("nginx ") gescheitert in/etc/nginx/nginx.conf: 5 2016.07.01 09.52.49 [emerg] 31735 # 0: getpwnam ("nginx")

# and this is my nginx.conf # failed

worker_processes auto; 
error_log /var/log/nginx/error.log; 
pid /run/nginx.pid; 

events { 
    worker_connections 1024; 
} 

http { 
    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log /var/log/nginx/access.log main; 

    sendfile   on; 
    tcp_nopush   on; 
    tcp_nodelay   on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 

    include    /etc/nginx/mime.types; 
    default_type  application/octet-stream; 
    include /etc/nginx/conf.d/*.conf; 
    server { 
    listen  80 default_server; 
    listen  [::]:80 default_server; 
     server_name _; 
     root   /usr/share/nginx/html; 
     include /etc/nginx/default.d/*.conf; 
     location/{ 
     } 
    error_page 404 /404.html; 
      location = /40x.html { 
     } 

    error_page 500 502 503 504 /50x.html; 
      location = /50x.html { 
     } 
    } 
} 

Antwort

0

Endlich fand ich die Lösungen selbst heraus.

Ich habe nginx -t verwendet, die zeigt, dass ich keinen Syntaxfehler in meinem Code habe.

Dann habe ich

user nobody; // in my nginx.conf 

Das ist mein Problem

0

gelöst Wenn Sie Nginx von der Quelle sind kompilieren, könnten Sie die Benutzer- und Gruppenflags bei der Kompilierung werden angeben.

Wenn dies der Fall ist, müssen Sie sicherstellen, dass die Benutzer tatsächlich vorhanden sind, wenn Sie versuchen, Nginx zu starten.

Wie getpwnam beheben („nginx“) schlug fehl

Es ist einfach, dieses Problem zu beheben, erstellen Sie einfach den angegebenen Benutzer (in diesem Fall 'nginx'), indem Sie den folgenden Befehl eingeben:

useradd nginx

Wenn Sie den Benutzer ohne Home-Verzeichnis erstellen würde es vorziehen, fügen Sie einfach die --no-create-homeflag, als solche:

useradd --no-create-home nginx