/ / Django en Digitalocean con Python y Gunicorn produce un error de 500 sin importar la configuración de depuración - django, nginx, gunicorn, digital-ocean

Django en Digitalocean con Python y Gunicorn produce un error de 500 sin importar la configuración de depuración - django, nginx, gunicorn, digital-ocean

Estoy muy confundido. He estado usando la misma configuración durante años y han funcionado muy bien ... hasta hoy.

Preparar: Django en Gunicorn con NGINX en Digitalocean Python 3

Cada vez que voy a una URL se ve el error 500se está activando y luego se muestra la plantilla 500.html. Pero esto está sucediendo independientemente de la configuración de depuración. Además, no hay nada que se esté escribiendo en los errores de Gunicorn. El único error que obtengo es un 404 en el directorio de plantillas.

Como una prueba de validez, aquí hay algunas configuraciones de muestra que estoy usando.

Ubicación de NGINX:

root /home/myname/myrepoproject;

error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/myname/myrepoproject/myproject/app/templates;
}

Error NGINX:

2018/03/26 17:09:14 [crit] 3267#3267: *35 connect() to unix:/home/myname/myproject/myproject.sock failed (2: No such file or directory) while connecting to upstream, client: XXX.XXX.XXX.XXX, server: ZZZ.ZZZ.ZZZ.ZZZ, request: "GET /500.html/ HTTP/1.1", upstream: "http://unix:/home/myname/myproject/myproject.sock:/500.html/", host: "arecord.domain.name"

Gunicorn ExecStart:

ExecStart=/home/myname/.virtualenvs/myve/bin/gunicorn --error-logfile ~/logs/gunicorn/gunicorn-errors.log --workers 3 --bind unix:/home/myname/myve/myproject.sock production

Los directorios estáticos y de carga funcionan.

Cualquier idea de solución de problemas de bienvenida.

Respuestas

0 para la respuesta № 1

Por los errores que publicaste, parece que tus configuraciones nginx y gunicorn no tienen el mismo conjunto de ubicaciones del socket, por lo que no se comunican.

Nginx está mirando unix:/home/myname/myproject/myproject.sock pero su línea de comando gunicornio dice --bind unix:/home/myname/myve/myproject.sock.

Hazlos coincidir y debería funcionar.