[[start|Nivel superior]]
|[[Flask app 2|Parte 2]]|[[Flask app 4|Parte 4]]|
====== Flask - 3 - Troubleshooting ======
===== Introduction =====
Tutorial de Desarrollo de una Aplicación con Flask y Gestión con systemd
Referencias: [[https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world|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