Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

802
Views
django- nginx: [emerg] open() "/etc/nginx/proxy_params" falló (2: No existe tal archivo o directorio) en /etc/nginx/sites-enabled/myproject:11

Intento implementar un proyecto Django con Nginx y Gunicorn con este tutorial . Hice todas las tareas pendientes, pero cuando creo /etc/nginx/sites-available/myproject con el siguiente código:

 server { listen 80; server_name server_domain_or_IP; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/sammy/myproject; } location / { include proxy_params; proxy_pass http://unix:/home/sammy/myproject/myproject.sock; } }

y luego ejecuto sudo nginx -t para encontrar errores, obtengo este error:

 nginx: [emerg] open() "/etc/nginx/proxy_params" failed (2: No such file or directory) in /etc/nginx/sites-enabled/myproject:11 nginx: configuration file /etc/nginx/nginx.conf test failed

¿Cómo puedo resolver el problema?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Obtiene la ruta incorrecta para proxy_params el 99% del tiempo (según mi experiencia), la ubicación predeterminada para el archivo proxy_params es /etc/nginx/proxy_params pero no parece ser lo mismo para usted.

El archivo proxy_params contiene lo siguiente:

 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme;

Estos parámetros se utilizan para reenviar información a la aplicación a la que está actuando como proxy. Trabajé con un antiguo servidor CentOS que no tenía un archivo proxy_params . En lugar de crear uno yo mismo, simplemente incluí estos parámetros directamente; y el bloque de ubicación se veía así:

 location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://unix:/home/sammy/myproject/myproject.sock; }

Eso depende de ti. Si el archivo existe en otra ubicación, simplemente inclúyalo en la ubicación correcta:

include /path/to/proxy_params

de lo contrario, puede incluir los parámetros directamente en el bloque de ubicación (como hice anteriormente)

O cree uno usted mismo y colóquelo en /etc/nginx (si desea seguir con su código actual)

over 4 years ago · Santiago Trujillo Report

0

Al instalar nginx en ubuntu, normalmente hay proxy_params y la ruta es /etc/nginx/proxy_params . Pero su ubuntu no lo tiene, por lo que hacer proxy_params o agregar el código que tiene proxy_params son buenas soluciones como respondió danidee .

Esta vez, hice el contenedor docker que tiene nginx y alpine que es una de las distribuciones de linux. Pero no tiene proxy_params igual que el old CentOS con el que trabajaba Danidee . Así que agregué el código de proxy_params , que es la forma más sencilla que hacer proxy_params .

Parece que algunas distribuciones de Linux o algunas distribuciones antiguas de Linux pueden no tener proxy_params .

Además, he visto el tutorial que usas antes. Para la configuración de nginx, es mejor que cree solo un myproject.conf en /etc/nginx/conf.d/myproject.conf (no olvide .conf después de myproject . Nginx no puede encontrar el archivo sin .conf ). En este caso, no necesita crear dos archivos en /etc/nginx/sites-available/myproject y /etc/nginx/sites-enabled/myproject .

over 4 years ago · Santiago Trujillo Report

0

En mi caso, tenía un archivo llamado myproject en el directorio /etc/nginx/sites-enabled . Pero no tenía ningún archivo llamado myproject en el directorio /etc/nginx/sites-available . Y no necesito ese archivo myproject en realidad, ya que no lo creé intencionalmente.

Así que eliminé el archivo myproject del directorio /etc/nginx/sites-enabled usando sudo rm myproject y listo. ¡Ahora sudo nginx -t fue exitoso!

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!