que digitalocean deploy aws django ubuntu nginx gunicorn

deploy - nginx django digitalocean



La recuperación de archivos estáticos falló con 404 en nginx (2)

Deberías usar alias lugar de root . root agrega las partes de la URL de seguimiento a su ruta local (por ejemplo, http://test.ndd/trailing/part , agregará / trailing / part a su ruta de acceso local). En lugar de eso, el alias hace exactamente lo que usted quiere: cuando se solicita http://test.ndd/static/ , / static se asigna a su alias exactamente, sin agregar nuevamente static.

Ahora estoy implementando una aplicación django con nginx y gunicorn en ubuntu 12.

Y configuro el archivo de host virtual nginx como se muestra a continuación:

server { listen 80; server_name mydomain.com; access_log /var/log/nginx/gunicorn.log; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /static/ { root /var/www/django/ecerp/erp/static/; } }

Puedo solicitar el django bien, pero cuando solicito un archivo estático, responde con estado 404.

Estoy seguro de que la ruta raíz del archivo estático es correcta.

¿Alguien puede ayudar?


TL; DR: debe comprobar los permisos de sus archivos

Me topé con esta pregunta y ya estaba usando un alias lugar de una raíz, por lo que si bien la respuesta existente era adecuada, lo siguiente podría ser útil para otros.

En mi caso, la solución a los mismos síntomas resultó ser los archivos en static/ tienen la root como propietario.

Un simple chown www-data:www-data . Resuelto el problema, y ​​no más 404 .