Notas de Luis

Nivel superior

Flask - 3 - Troubleshooting

Introduction

Tutorial de Desarrollo de una Aplicación con Flask y Gestión con systemd

Referencias: Flask mega tutorial

Troubleshooting

Aquí hay algunos puntos que se pueden comprobar cuando las cosas no van del todo bien.

Es muy importante comprobar cualquier error de escritura en todos los ficheros que se editen.

Comrpobamos systemd.

$ sudo systemctl status my_flask_app.service
$ sudo journalctl -xe

Rearrancamos el servicio systemd de gunicorn.

$ sudo systemctl restart my_flask_app.service
$ sudo systemctl daemon-reload

Añadimos logging a Gunicorn cambiando la linea ExecStart. Añadir –error-logfile error.log y –log-level debug al final de la línea.

Cambia la linea ExecStart (aquí dividido para mayor claridad, pero va todo en la misma línea):

ExecStart=/var/www/my_flask_app/.venv/bin/gunicorn --workers 3 
  *-bind unix:/var/www/my_flask_app/myproject.sock wsgi:app

a esto (todo en la misma línea):

ExecStart=/var/www/my_flask_app/.venv/bin/gunicorn --workers 3 
  *-bind unix:/var/www/my_flask_app/myproject.sock wsgi:app 
  *-error-logfile error.log --log-level debug

Comprobamos los ficheros de log de Nginx.

$ less /var/log/nginx/error.log
$ less /var/log/nginx/my_flask_app.error.log

Comprobar si nginx está escuchando en el puerto 80.

$ ss -lnt | grep 80
LISTEN    0         511                0.0.0.0:80               0.0.0.0:* 
LISTEN    0         511                   [::]:80                  [::]:* 

Usa curl para comprobar que da una respuesta 200 OK.

$ curl -I http://my_flask_app

Salida esperada (aproximada):

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 30
Server: gunicorn/21.2.0
Date: Wed, 03 Feb 2021 15:18:55 GMT
computing/web/flask_app_3.txt · Última modificación: por 127.0.0.1