全部。在主管管理烧瓶应用程序中运行gunicorn时遇到了一个奇怪的问题。在开始陈述我的问题之前,只想说我知道this SO post。但是,我的问题是我可以直接在前台运行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
时,标准输出日志文件说
usage: gunicorn [OPTIONS] [APP_MODULE] gunicorn: error: No application module specified.
我的问题是,如果直接运行gunicorn时没有出现错误,为什么在这里会出现错误?有什么区别?
顺便说一句,然后我尝试使用systemd
在this post之后运行gunicorn,systemd
可以正常启动gunicorn服务。
您知道我对supervisor
做错了什么吗?非常感谢。