我对AWS和MacOS都是全新的。但是,我正在尝试在aws beanstalk中创建简单的python应用程序。我让他们的默认演示应用程序(在创建环境/应用程序时作为选项提供的应用程序)正常工作。我遵循了tutorial,代码在本地工作(python2.7.14)。你知道吗
但是当我上传这个的时候应用程序.py以及要求.txt通过zip,当我加载应用程序url时,编译后的应用程序显示运行状况“正常”,但显示“内部服务器错误”。你知道吗
我不知道如何调试,甚至不知道调试什么,因为代码非常简单:这主要是一个不兼容的环境问题。你知道吗
所以,我到处寻找如何使我的AWSEB环境成为python2.7,而不是它给我的python3.4,对于预配置的docker python和预配置的python平台。你知道吗
我很困惑。如何使我的AWSEB环境/应用程序成为python2.7.14,即我在本地使用并且运行良好的环境/应用程序?你知道吗
作为参考,以下是我的代码:
from flask import Flask
# print a nice greeting.
def say_hello(username = "World"):
return '<p>Hello %s!</p>\n' % username
# some bits of text for the page.
header_text = '''
<html>\n<head> <title>EB Flask Test</title> </head>\n<body>'''
instructions = '''
<p><em>Hint</em>: This is a RESTful web service! Append a username
to the URL (for example: <code>/Thelonious</code>) to say hello to
someone specific.</p>\n'''
home_link = '<p><a href="/">Back</a></p>\n'
footer_text = '</body>\n</html>'
# EB looks for an 'application' callable by default.
application = Flask(__name__)
# add a rule for the index page.
application.add_url_rule('/', 'index', (lambda: header_text +
say_hello() + instructions + footer_text))
# add a rule when the page is accessed with a name appended to the site
# URL.
application.add_url_rule('/<username>', 'hello', (lambda username:
header_text + say_hello(username) + home_link + footer_text))
# run the app.
if __name__ == "__main__":
# Setting debug to True enables debug output. This line should be
# removed before deploying a production app.
application.debug = True
application.run()
你知道吗要求.txt你知道吗
click==6.7
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
Werkzeug==0.14.1
我在安装AWSEB cli时遇到路径问题-因此请将您的答案限制为使用控制台。非常感谢。你知道吗
如果您的应用程序需要不同版本的平台,则需要指定使用elastic beanstalk提供的机制,即通过配置yml文件。你需要创建一个配置yml将环境/平台要求归档,并将该文件放在应用程序基本文件夹的.elasticbeanstalk文件夹下。你知道吗
你可以看到配置yml设置和格式化here
还有很多supported platforms。你知道吗
基于上述文档,您需要在中指定以下内容配置yml文件:
不同的配置文件有助于自定义EB config/环境。更多here
相关问题 更多 >
编程相关推荐