Используем VPS на Debian 10
Подключаемся по ssh. Ставим вспомогательные пакеты:
$ apt update $ apt install curl gnupg python3-pip $ pip3 install flask
Далее по инструкции ставим Nginx Unit:
$ curl -sL https://nginx.org/keys/nginx_signing.key | apt-key add - $ cat << EOF > /etc/apt/sources.list.d/unit.list deb https://packages.nginx.org/unit/debian/ buster unit deb-src https://packages.nginx.org/unit/debian/ buster unit EOF $ apt update $ apt install unit unit-dev unit-python3.7
Создаем пользователя под которым будем запускать Unit и директорию приложения:
$ adduser flaskuser $ mkdir /home/flaskuser/flaskapp
Делаем само приложение:
$ nano /home/flaskuser/flaskapp/hello.py
from flask import Flask application = Flask(__name__) @application.route('/test') def hello_world(): return 'Hello, World!'
и конфиг для nginx unit:
$ nano /home/flaskuser/flaskapp/config.json
{ "listeners": { "*:8000": { "pass": "applications/flask_app" } }, "applications": { "flask_app": { "type": "python 3.7", "user": "flaskapp", "processes": 1, "path": "/home/flaskuser/flaskapp", "module": "hello" } } }
Загружаем конфиг в unit
$ curl -X PUT --data-binary @/home/flaskuser/flaskapp/config.json --unix-socket \ /var/run/control.unit.sock http://localhost/config
Получаем ответ:
Если ошибка, то смотрим лог командой tail /var/log/unit.log