Setup flask application with nginx for Ubuntu 18.06

sudo apt-get update
sudo apt-get install python-pip

 

sudo pip install virtualenv

 

virtualenv venv

source venv/bin/activate

 

application_uwsgi.ini

[uwsgi]
#application's base folder
base = /data/tools/application

#python module to import
app = application_entry
module = %(app)

home = %(base)/venv
pythonpath =%(base)

#socket file's location
socket = /data/tools/application/%n.sock

#permissions for the socket file
chmod-socket = 666

#the variable that holds a flask application inside the module imported at line #6
callable = app

mount = /application=application_entry.py
manage-script-name = true

#location of log files
logto = %(base)/%n.log

vacuum = true

 

vi /etc/nginx/nginx.conf

Inside the http section

server {
 listen 80;

#server_name localhost;

location /application {
         include uwsgi_params;
         uwsgi_pass unix:/data/tools/application/application_uwsgi.sock;
     }
 }

 

vi /etc/systemd/system/application.service

[Unit]
Description=uWSGI instance to serve application
After=network.target

[Service]
User=root
Group=www-data
WorkingDirectory=/data/tools/application
Environment="PATH=/data/tools/application/venv/bin"
ExecStart=/data/tools/application/venv/bin/uwsgi --ini application_uwsgi.ini

[Install]
WantedBy=multi-user.target

 

 

 

 

Leave a comment