configuración fallida configuración nginx para tornadoweb, directiva desconocida “usuario”

Tengo este error en la versión 1.0.0 de nginx

nginx: [emerg] unknown directive "user" in /etc/nginx/sites-enabled/ tornado:1 

Si elimino el usuario www-data, los procesos de trabajo obtuvieron un error.

 nginx: [emerg] unknown directive "worker_processes" in /etc/nginx/ sites-enabled/tornado:1 

He buscado en google pero todavía no tengo nada por favor ayuda

este es mi tornado en el sitio disponible

 user www-data www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll; } http { # Enumerate all the Tornado servers here upstream frontends { server 127.0.0.1:8081; server 127.0.0.1:8082; server 127.0.0.1:8083; server 127.0.0.1:8084; } include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; keepalive_timeout 65; proxy_read_timeout 200; sendfile on; tcp_nopush on; tcp_nodelay on; gzip on; gzip_min_length 1000; gzip_proxied any; gzip_types text/plain text/html text/css text/xml application/x-javascript application/xml application/atom+xml text/javascript; # Only retry if there was a communication error, not a timeout # on the Tornado server (to avoid propagating "queries of death" # to all frontends) proxy_next_upstream error; server { listen 8080; # Allow file uploads client_max_body_size 50M; location ^~ /static/ { root /var/www; if ($query_string) { expires max; } } location = /favicon.ico { rewrite (.*) /static/favicon.ico; } location = /robots.txt { rewrite (.*) /static/robots.txt; } location / { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_redirect false; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://frontends; } } } 

Probablemente un poco atrasado, pero si alguien tropieza con esto aquí hay una pista:

Probablemente configure la colisión, verifique en / etc / nginx un archivo .conf con la misma directiva.

También vale la pena comprobar si el nginx.conf tiene una línea de “inclusión”. Es muy común y es fuente de colisiones.

Por ejemplo.

 evan@host:~/$ cat /etc/nginx/nginx.conf | grep include include /etc/nginx/mime.types; include /etc/nginx/conf.d/.conf; include /etc/nginx/sites-enabled/; 

En este caso, una directiva en / etc / nginx / sites-enabled / chocará con el contenido de nginx.conf. Asegúrate de no duplicar nada entre los archivos incluidos.

Solo quiero dar más detalles sobre la respuesta de Kjetil M., ya que eso me funcionó, pero no entendí lo que quería decir de inmediato. No lo hice hasta que, después de muchos bashs, solucioné el problema y tuve un mensaje de “oh, eso es lo que quería decir”.

Si su archivo /etc/nginx/nginx.conf y uno de los otros archivos de configuración / etc / nginx / sites-enabled / usan la misma directiva como “usuario”, se encontrará con este error. Solo asegúrese de que solo una versión esté activa y comente las otras.

Las directivas worker_ * deben estar en la parte superior de la configuración, eso significa que deben estar en /etc/nginx/nginx.conf

Ejemplo: Mis primeras líneas son:

 user www-data; worker_processes 4; worker_connections 1024; 

Si desea saber cuántos trabajadores son los mejores para su servidor, puede ejecutar este comando:

 grep processor /proc/cpuinfo | wc -l 

esto le dice cuántos núcleos tiene, no tiene sentido tener más trabajadores que núcleos para sitios web.

Si desea saber cuántas conexiones pueden manejar sus trabajadores, puede usar esto:

 ulimit -n 

Espero eso ayude.

Recibía el mismo error, pero cuando inicié nginx con opciones -c como

nginx -c conf.d / myapp.conf

funcionó bien

Otra cosa, si ha creado el archivo de configuración en Windows y lo está utilizando en Linux, asegúrese de que los finales de línea sean correctos (“\ r \ n” en lugar de “\ r”) y que el archivo no esté almacenado como Unicode .