Я создал API с помощью FLASK, который я пытаюсь развернуть на сервере Linux, создав службу systemd.
Я использовал direnv для настройки входных параметров приложения, таких как соединения с базой данных.Вот как выглядит файл:
Конфигурация uwsgi выглядит следующим образом:
Файл systemd содержит следующие записи:
Я получаю следующую ошибку в своих журналах uwsgi всякий раз, когда пытаюсь обратиться к службе в своем браузере:
--- приложение python не найдено, проверьте журналы запуска на наличие ошибок --- [pid: 23791 | app: -1 | req: -1/3] 192.168.9.180 () {44переменные в 719 байтах} [Чт, 11 октября 14:35:09 2018] GET / => сгенерировал 21 байт по 0 мсек (HTTP / 1.1 500) 2 заголовка по 83 байта (1 переключатель на ядре 0)
Насколько я понимаю, команда ExecStart в файле systemd не может вызывать переменные набора direnv, поэтому я добавил запись ExecStartPre, но даже, похоже, не работает.
Любые советы / идеи приветствуются.
Примечание. Приложение доступно без ошибок, когда я запускаю uwsgi через командную строку из виртуальной среды python:
uwsgi --socket 0.0.0.0:5000 --protocol = http -w app: app