How it works...

The Flask applications are so simple that they don't come with all of the boilerplate WSGI configurations such as Django and other frameworks. The good news is that the flexibility of uWSGI means it's very easy to configure.

In order for uWSGI to know what file to call, which we do via the module configuration entry, set it to demoapp. Those familiar with Python will know that this translates into loading demoapp.py.

Secondly, the callable configuration specifies the default WSGI callable name, which in our demoapp.py is set to application.

Lastly, we have a very simple NGINX server block directive. This simply pushes all calls to our Flask application using the uWSGI socket.