Pav*_*dhu 37 amazon-web-services flask amazon-elastic-beanstalk
我正在尝试将我的Flask应用程序上传到AWS,但是这样做会收到错误:
您的WSGIPath指的是不存在的文件.
在网上挖掘后我发现在.ebextensions文件夹中,我应该指定路径.没有.ebextensions文件夹,因此我创建了一个并将以下代码添加到名为settings.config的文件中:
option_settings:
"aws:elasticbeanstalk:container:python":
WSGIPath: project/application.py
Run Code Online (Sandbox Code Playgroud)
WSGIPath是application.py文件的正确路径,所以我不确定是什么引发了这个错误.我是否正确地更改了WSGIPath,是否有更好的方法或是否存在导致此情况发生的其他问题?谢谢.
jos*_*ode 40
在AWS上部署Flask可能会出现很多配置问题.我遇到了与你类似的问题,所以我至少可以告诉你我为解决WSGI错误所做的工作.
首先,显然你可以做到这一点,而不.ebextensions文件夹(看到这个帖子在这里,并期待在davetw12的答案.但是,应注意的是,虽然这工作,我不能完全肯定davetw12的约.ebextensions结论是正确的基础上,下面的一些评论).相反,(在终端中),我导航到与我的.elasticbeanstalk目录处于同一级别的项目并使用该命令eb config
.这将打开一个可以设置的选项列表来配置beanstalk应用程序.深入了解选项,直到找到WSGI路径.我注意到你有你的设置project/application.py
,但是,这不应该包括文件夹引用,只是application.py
.以下是它在终端上我的Mac上的样子(WSGI路径靠近底部).
请注意,一旦获得该设置,EB可能会重新部署.没关系.让它.
获得该设置后,请进入application.py文件并确保调用您的应用程序application
.例如,我的样子如下:
from flask import Flask
from flask import render_template
application = Flask(__name__)
@application.route('/')
@application.route('/index')
def index():
return render_template('index.html',
title='Home')
Run Code Online (Sandbox Code Playgroud)
这消除了WSGI路径错误 - 虽然我仍然需要解决其后的一些其他问题:-)但这是一组不同的问题.
TRi*_*iNE 11
如果这里有人通过 AWS 控制台 (GUI) 进行操作,请修改配置并将您的脚本名称放在 WSGIPath 中,如下所示。
如果你是新人,我会给予奖励提示。
from flask import Flask
application = Flask(__name__)
@application.route("/")
def hello():
return "Hello"
if __name__ == "__main__":
application.run()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26998 次 |
最近记录: |