WSGI 路径不适用于 Amazon Linux 2

WSGI path doen't work with Amazon Linux 2

我正在尝试使用 Elastic Beanstalk 和 Amazon Linux 2. 我注意到的一件事是 WSGI 路径似乎有点不同。

对于 Django 应用程序,我通常会设置 <<app_name>>.wsgi.py

相反,定义它的新方法是使用这样的命名空间。但是,这似乎不适用于 eb config 仅从 .ebextensions

购买
<<app_name>>.wsgi:application

我觉得,我在这里做错了什么或者没有理解这个命名空间的概念? 为什么我突然要添加命名空间?

因为其他人可能 运行 进入这个问题。

这是我的问题的解决方法:

A​​mazon Linux 2 使用 Gunicorn 作为默认网络服务器。 Gunicorn 在指定 WSGI 配置的路径时需要特定的语法。此语法不仅包括文件路径,还包括接受 WSGI 参数的导出函数的名称(或 class)。

这就是您必须使用上述语法的原因。

有几种方法可以为您的项目指定 WSGI 路径。您可以通过 AWS gui 执行此操作,但我的建议是将 Procfile 添加到您的项目中。 我的 Procfile 如下所示:

web: gunicorn --bind :8000 --workers 3 --threads 2 <<my_app>>.wsgi:application