Запустите Gunicorn как сервис - PullRequest
0 голосов
/ 24 августа 2018

Я хочу настроить gunicorn в сервисе.

У меня есть эта конфигурация для службы:

[Unit]
Description=test

[Service]
WorkingDirectory=/var/www/cmdb
Type=forking
Restart=always
ExecStart=/var/www/test/bin/gunicorn --workers=4 --bind=0.0.0.0:8080 test.wsgi:application

[Install]
WantedBy=multi-user.target

Моя проблема в том, что он не запускается. У меня появляется эта ошибка при запуске службы:

gunicorn.service: Main process exited, code=exited, status=203/EXEC
gunicorn.service: Unit entered failed state.
gunicorn.service: Failed with result 'exit-code'.
gunicorn.service: Start request repeated too quickly.

Я не нахожу ошибок в моей конфигурации. У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 24 августа 2018

Предполагая, что вы работаете в virtualenv, корзина с оружием должна выглядеть примерно так:

/var/www/cmdb/venv/bin/gunicorn

Вместо

/var/www/test/bin/gunicorn

Во всяком случае, я использую что-то вроде этого в моей системе, и она отлично работает:

[Unit]
Description = SampleApp
After = network.target

[Service]
PIDFile = /run/cmdb/cmdb.pid
WorkingDirectory = /var/www/cmdb
ExecStartPre = /bin/mkdir /run/cmdb
ExecStart = /var/www/cmdb/venv/bin/gunicorn test.wsgi:application -b 0.0.0.0:8000 --pid /run/cmdb/cmdb.pid
ExecReload = /bin/kill -s HUP $MAINPID
ExecStop = /bin/kill -s TERM $MAINPID
ExecStopPost = /bin/rm -rf /run/cmdb

[Install]
WantedBy = multi-user.target

Примечание. В этом примере используется пользователь root. Я рекомендую использовать пользователя для вашего приложения с ограниченными разрешениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...