> Do you know how to run a uWSGI server or Gunicorn server under a venv on boot?
You have to create an virtual environment and **hardcode the path** to uWSGI or Gunicorn.
To start the app on boot, use _systemd_ or _supervisor_.
An example of using supervisor.
# content from /etc/supervisor/conf.d/microblog.conf
[program:microblog]
command=/home/ubuntu/microblog/venv/bin/gunicorn -b localhost:8000 -w 4 microblog:app
directory=/home/ubuntu/microblog
user=ubuntu
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
Check Miguel's tutorial about Deployment on Linux for detail.