Nginx uWSGI Flask Python2 Flask + Virtual Env Python 2.7 Virtual Env pip2 install virtualenv cd /home/user/web/domain virtualenv --python=$(which python2) ./private/ source private/bin/activate pip install -r ../public_html/requirements.txt uWSGI Emperor pip2 install wheel uwsgi cat /etc/systemd/system/uwsgi.serviceĀ  [Unit] Description=uWSGI Emperor service After=syslog.target [Service] ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites Restart=always KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl start uwsgi.service systemctl status uwsgi.service systemctl enable uwsgi.service Application configuration file cat web.domain.site.iniĀ  [uwsgi] uid=appuser gid=www-data socket=127.0.0.1:13000 procname-prefix-spaced = web.domain.site # Enable uWSGI stats server # stats = :13034 # stats-http = true # the virtualenv (full path) virtualenv=/home/appuser/web/web.domain.site/private # Project path chdir=/home/appuser/web/web.domain.site/public_html # Django's wsgi file (path starting from chdir/) wsgi-file=run.wsgi # Log paths logto=/var/log/nginx/domains/web.domain.site.uwsgi.log log-date = [%%Y:%%m:%%d %%H:%%M:%%S] logformat-strftime log-format = [%(ftime)] logfile-chown = www-data:appuser logfile-chmod = 640 # Do not log some errors caused by client disconnects ignore-sigpipe = true ignore-write-errors = true disable-write-exception = true master=true enable-threads=true processes=2 threads=5 single-interpreter=true thunder-lock=true die-on-term=true max-requests=1000 buffer-size=32768 post-buffering=8192 # clear environment on exit vacuum=true Nginx Virtualhost https://uwsgi-docs.readthedocs.io/en/latest/Nginx.html location / { include uwsgi_params; uwsgi_pass uwsgi://localhost:13000; } Ref: https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html