WSGI路径不适用于Amazon Linux 2

问题描述

我正在尝试使用Elastic Beanstalk和Amazon Linux2。我注意到的一件事是Wsgi路径似乎有些不同。

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

相反,定义它的新方法是使用这样的命名空间。但是,从eb config的{​​{1}}购买看来似乎不起作用

.ebextensions

我觉得我在这里做错了什么还是没有得到这个命名空间的概念? 为什么突然需要添加名称空间?

解决方法

由于其他人可能会遇到此问题。

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

Amazon Linux 2使用Gunicorn作为默认Web服务器。当指定WSGI配置的路径时,Gunicorn期望使用某种语法。这种语法不仅包括文件的路径,而且还包括接受WSGI参数的导出函数(或类)的名称。

这就是为什么您必须使用上面的语法。

有几种方法可以为您的项目指定WSGI路径。您可以通过AWS gui进行操作,但我的建议是将Procfile添加到您的项目中。 我的Procfile看起来像这样:

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