Пользуюсь связкой nginx + uwsgi + flask.
uwsgi с помощью supervisor от имени www-data, код в папке
/var/www/_site_name_
.
Чтобы не было неприятных инцидентов, делаю это с помощью набора простеньких Ansible-скриптов:
- Поставить системные пакеты
- Синхронизовать код, расставить права
- Закинуть конфиги (nginx, supervisor, uwsgi, flask)
- Перезапустить процессы
Проверяю код и скрипты на виртуалке с Vagrant.
Звучит страшно, но довольно удобно и вспоминается после перерыва легко.
Наверняка есть способы проще:)