问题描述
我正在尝试使用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