使用主管运行(烧瓶+)Gunicorn时出现问题:未指定应用程序模块

时间:2019-09-20 04:02:08

标签: flask gunicorn supervisord

全部。在主管管理烧瓶应用程序中运行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时没有出现错误,为什么在这里会出现错误?有什么区别?

顺便说一句,然后我尝试使用systemdthis post之后运行gunicorn,systemd可以正常启动gunicorn服务。

您知道我对supervisor做错了什么吗?非常感谢。

0 个答案:

没有答案