有没有办法用gunicorn启动CKAN 2.9?
我可以从文档中看到提到了gunicorn:
安装Supervisor(过程控制系统)用于控制 启动、停止 uwsgi 或 Gunicorn 服务器:
但是里面没有太多信息。
由于 2.9 是 Flask,我一直在研究如何使用 Gunicorn 提供 Flask 应用程序,我遇到了这篇文章:如何在 Ubuntu 18.04 上使用 Gunicorn 和 Nginx 提供 Flask 应用程序,我尝试使用此代码(wsgi.py) :
import os
from ckan.config.middleware import make_app
from ckan.cli import CKANConfigLoader
from logging.config import fileConfig as loggingFileConfig
app = None
if __name__ == "__main__":
config_filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'ckan.ini')
abspath = os.path.join(os.path.dirname(os.path.abspath(__file__)))
loggingFileConfig(config_filepath)
config = CKANConfigLoader(config_filepath).get_config()
app = make_app(config)
然后运行:
gunicorn --bind 0.0.0.0:5000 wsgi:app
但我明白:
[2022-06-22 20:09:34 +0000] [365] [INFO] Starting gunicorn 20.1.0
[2022-06-22 20:09:34 +0000] [365] [INFO] Listening at: http://0.0.0.0:5000 (365)
[2022-06-22 20:09:34 +0000] [365] [INFO] Using worker: sync
[2022-06-22 20:09:34 +0000] [367] [INFO] Booting worker with pid: 367
Failed to find application object: 'app'
[2022-06-22 20:09:35 +0000] [367] [INFO] Worker exiting (pid: 367)
[2022-06-22 20:09:35 +0000] [365] [INFO] Shutting down: Master
[2022-06-22 20:09:35 +0000] [365] [INFO] Reason: App failed to load.
任何想法表示赞赏
gunicorn wsgi --bind 0.0.0.0:5000
gunicorn 需要“wsgi.py”而不需要“.py”。