How to do it...

  1. First up, we set up our uwsgi.ini file, which should be located in the root of your Flask application. Here's the file:
      [uwsgi]
socket = 127.0.0.1:8000
uid = www-data gid = www-data
chdir = /var/www/flaskdemo
module = demoapp
callable = application
master = True
pidfile = /tmp/uwsgi-flaskdemo.pid
max-requests = 5000
daemonize = /var/log/uwsgi/flaskdemo.log

For this demo, we have a single Flask file located in /var/www/flaskdemo/demoapp.py.

You can quickly launch your uWSGI service by running the following command:

      uwsgi --ini uwsgi.ini

 

  1. We now need to configure the NGINX server block directive and again I've included this in a separate file (/etc/nginx/conf.d/flask.conf):
      server { 
listen 80;
server_name flaskdemo.nginxcookbook.com;
access_log /var/log/nginx/flaskdemo-access.log combined;
location = /favicon.ico { access_log off; log_not_found off; }
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_param SCRIPT_NAME '';
}
}