Flask from command line

From ProgZoo
Revision as of 22:10, 18 September 2021 by Andr3w (talk | contribs) (→‎Linux: Running flask for production under uwsgi)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • You might want to develop your flask programs under Windows or Linux.
  • You should run the production service under uWSGI from nginx in Linux.

Windows: Install python and flask, run the first program

Get python flask going on windows:

Linux: Install flask, tunnel into debug version

Get python flask going on a remote linux server:

Linux: Running flask for production under uwsgi

Your service will be more reliable if you run using uwsgi: Install uwsgi and uwsgi-plugin-python3

sudo apt install uwsgi uwsgi-plugin-python3

Change /etc/nginx/sites-enabled/tmp.progzoo.net to

server {
  server_name tmp.progzoo.net;
  location / {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/project1.sock;
  }
  location /static {
    alias /home/andrew/project1/static;
  }
  #... stuff generated by certbot
}
#... more stuff generated by certbot

Create the file /etc/uwsgi/apps-enabled/tmp.ini

[uwsgi]
plugins = python3
pythonpath = /home/andrew/project1/venv/bin
module = wsgi
socket = /tmp/project1.sock
chmod-socket = 775
chdir = /home/andrew/project1
virtualenv = venv
master = true
module = server:app

If you change server.py or a template you must restart uwsgi

sudo systemctl restart uwsgi