Deployment Options
While lightweight and easy to use, Flask’s built-in server is not suitable for production as it doesn’t scale well. Some of the options available for properly running Flask in production are documented here.
If you want to deploy your Flask application to a WSGI server not listed here, look up the server documentation about how to use a WSGI app with it. Just remember that your Flask application object is the actual WSGI application.
Hosted options
- Deploying Flask on Heroku
- Deploying Flask on Google App Engine
- Deploying Flask on Google Cloud Run
- Deploying Flask on AWS Elastic Beanstalk
- Deploying on Azure (IIS)
- Deploying on PythonAnywhere
Self-hosted options
- Standalone WSGI Containers
- Gunicorn
- uWSGI
- Gevent
- Twisted Web
- Proxy Setups
- uWSGI
- Starting your app with uwsgi
- Configuring nginx
- mod_wsgi (Apache)
- Installing mod_wsgi
- Creating a .wsgi file
- Configuring Apache
- Troubleshooting
- Support for Automatic Reloading
- Working with Virtual Environments
- FastCGI
- Creating a .fcgi file
- Configuring Apache
- Configuring lighttpd
- Configuring nginx
- Running FastCGI Processes
- Debugging
- CGI
- Creating a .cgi file
- Server Setup
- ASGI
