Flask
Flask on the Tommy and Johnny servers uses Python 3.10.
If you need to run Flask on another version of Python, you'll need to get a VPS
About Flask
Flask is a Python web framework built with a small core and easy-to-extend philosophy. Read more: Full Stack Python
How To Setup Flask on Plesk
1. Create a directory on your main domain called flasktest
.
flasktest
.If you were transferred from the old cPanel, your main domain will be parked on the public_html
directory.
If you created a new account on Plesk, your directory will be httpdocs
.
2. Create an .htaccess
file inside the flasktest
directory with these contents:
.htaccess
file inside the flasktest
directory with these contents:3. Create a file named flask.wsgi
inside the flasktest
directory with these contents:
flask.wsgi
inside the flasktest
directory with these contents:4. Create a file named myapp.py
inside the flasktest
directory with these contents:
myapp.py
inside the flasktest
directory with these contents:5. Make sure your directory structure and files look like this:
6. If you did everything right it should look like the below:
Screenshot taken from https://krydos.heliohost.org/flasktest/
Since WSGI uses server side caching, your changes might not appear immediately, and in some cases might take several hours to update.
We recommend developing your Flask app on your home computer and hosting the production copy on the server.
Troubleshooting
If you receive an error of You don't have permission to access /flasktest/flask.wsgi/ on this server
, you may need to add AddHandler cgi-script .py
to your .htaccess
file.
Running Flask at the Webroot
The above example is for Flask in a subdirectory, so users can host different projects in different subdirectories rather than dedicating the whole domain to one Flask app.
If you prefer to run Flask at the webroot instead, this is possible with some slight changes to the .htaccess
, flask.wsgi
, and myapp.py
files.
References
This tutorial is adapted from the How to Use Flask on Plesk post on the HelioNet forum, answered by Krydos.
Last updated