Difference between revisions of "Flask from command line"

From ProgZoo
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
*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==
==Windows: Install python and flask, run the first program==
Get python flask going on windows:
Get python flask going on windows:
Line 23: Line 25:
     alias /home/andrew/project1/static;
     alias /home/andrew/project1/static;
   }
   }
  #... stuff generated by certbot
  }
  }
#... more stuff generated by certbot
Create the file <code>/etc/uwsgi/apps-enabled/tmp.ini</code>
Create the file <code>/etc/uwsgi/apps-enabled/tmp.ini</code>
  [uwsgi]
  [uwsgi]
Line 35: Line 39:
  master = true
  master = true
  module = server:app
  module = server:app
 
If you change <code>server.py</code> or a template you must restart uwsgi
sudo systemctl restart uwsgi


<htmltag tagname="video" src="videos/uwsgi.mp4" width="400px" controls ></htmltag>
<htmltag tagname="video" src="videos/uwsgi.mp4" width="400px" controls ></htmltag>

Latest revision as of 22:10, 18 September 2021

  • 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