Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

811
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda