все.У меня возникла странная проблема при запуске gunicorn с супервизором для обслуживания колб.Прежде чем я начну заявлять о своей проблеме, просто хочу сказать, что я знаю о этом ТАК сообщении .Тем не менее, моя проблема заключалась в том, что я мог запускать gunicorn прямо на переднем плане для сервера приложения.Проблема возникла только тогда, когда я использовал супервизор.
Вот структура моего приложения для колб:
myproject/
|---webapp/
| |---__init__.py # create_app function is here
| |--- ... # other files in webapp
|---wsgi.py
|---manage.py
|---venv # gunicorn is in venv/bin
Файл wsgi.py
выглядит следующим образом
from webapp import create_app
app = create_app()
if __name__ == "__main__":
app.run()
Находясь в каталоге myproject
, я могузапустите приложение, запустив
$ venv/bin/gunicorn -w 4 wsgi:app
Затем я создал каталог webapp.conf
в /etc/supervisor/conf.d/
следующим образом.
[program:webapp]
directory=/home/<my username>/projects/myproject
command=/home/<my username>/projects/myproject/venv/bin/gunicorn -w 4 wsgi:app
user=<my username>
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=<some path>
stderr_logfile=<some path>
Когда я перезагрузил свой supervisor
, журнал stdoutВ файле сказано:
usage: gunicorn [OPTIONS] [APP_MODULE] gunicorn: error: No application module specified.
Мой вопрос: почему я получаю ошибку здесь, если я не получаю ошибку при непосредственном запуске gunicorn?В чем разница?
Кстати, я тогда попытался использовать systemd
для запуска gunicorn после этого поста , и systemd
может нормально запустить службу gunicorn.
Есть идеи, что я сделал не так с supervisor
?Большое спасибо.