RHEL 9 Gunicorn в проблемах системного обслуживания виртуальной среды Python

Я пытаюсь настроить Gunicorn для обслуживания моего приложения Flask и использовать NGINX для конфигурации прокси. Это приложение размещается на сервере RHEL 9. Установлены Python 3.9 и Gunicorn 20.1.0.

В настоящее время пытаюсь запустить Gunicorn как услугу.

Местоположение службы — /etc/systemd/system/gunicorn.service, а конфигурация следующая:

      [Unit]
Description=Gunicorn instance to serve Flask app
After=network.target

[Service]
User=testuser
Group=testuser
WorkingDirectory=/home/testuser/webapp
Environment="PATH=/home/testuser/env/vwebapp/bin"
ExecStart=/home/testuser/env/vwebapp/bin/gunicorn --chdir /home/testuser/webapp --config /home/testuser/webapp/gunicorn.py  app:app

[Install]
WantedBy=multi-user.target

Это ошибка, которую я получаю:

      Apr 08 01:09:50 TEST gunicorn[265951]: All git commands will error until this is rectified.
Apr 08 01:09:50 TEST gunicorn[265951]: This initial warning can be silenced or aggravated in the future by setting the
Apr 08 01:09:50 TEST gunicorn[265951]: $GIT_PYTHON_REFRESH environment variable. Use one of the following values:
Apr 08 01:09:50 TEST gunicorn[265951]:     - quiet|q|silence|s|none|n|0: for no warning or exception
Apr 08 01:09:50 TEST gunicorn[265951]:     - warn|w|warning|1: for a printed warning
Apr 08 01:09:50 TEST gunicorn[265951]:     - error|e|raise|r|2: for a raised exception
Apr 08 01:09:50 TEST gunicorn[265951]: Example:
Apr 08 01:09:50 TEST gunicorn[265951]:     export GIT_PYTHON_REFRESH=quiet
Apr 08 01:09:50 TEST systemd[1]: gunicorn.service: Main process exited, code=exited, status=1/FAILURE
Apr 08 01:09:50 TEST systemd[1]: gunicorn.service: Failed with result 'exit-code'.

Для справки, это файл конфигурации Gunicorn, который я использую для тестирования:

      bind = "0.0.0.0:8080"
graceful_timeout = 3000
limit_request_line = 0
loglevel = "debug"
preload_app = True
raw_env = ["TERM=screen"]
timeout = 3000
workers = 5

Заставить работать системный сервис Gunicorn было моей основной задачей на протяжении всего этого процесса. По какой-то причине я могу запустить те же аргументы «--chdir /home/testuser/webapp --config /home/testuser/webapp/gunicorn.py app:app» в ExecStart вручную, и Gunicorn запускается без проблем. Будем очень благодарны любой помощи.

Я попробовал несколько вариантов примеров конфигурации Gunicorn.service (включая исключение аргументов --chdir и --config), но мне так и не удалось заставить этот сервис работать.

В конечном итоге я хотел бы иметь возможность передавать мой файл конфигурации Python Gunicorn в качестве аргумента в разделе ExecStart пользовательской службы Gunicorn.

0 ответов

Другие вопросы по тегам