如何将Visual Studio Flask应用程序部署到Elastic Beanstalk

2024-07-03 06:14:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Visual Studio 2019Flask Web项目模板。它在我本地的Python环境中运行,是一个很好的开始(非常类似于标准的Asp.net)模板。我创建了一个PythonElasticBeanstalk应用程序来承载它。我正试图在AWS Elastic Beanstalk上部署此功能。我在以下位置创建了一个存储库:https://github.com/jlongo62/Flask-Web-Project

  • 我认为其中一个文件(或丢失的文件)需要命名 py(它可能还需要一些特殊的内容)。我包括了一个 目录列表

  • 看来我需要压缩这个并上传它 通过portal/cli。我不确定拉链应该是什么样子,但是 我怀疑requirements.txt需要在根目录下。)。如果AWS工具包 扩展无法处理此作业,应该很容易编写脚本

  • GitHub中是否有更好的模板或示例项目

  • 解决方法简单吗

    \FlaskWebProject1\FlaskWebProject1
    \FlaskWebProject1\FlaskWebProject1.pyproj
    \FlaskWebProject1\FlaskWebProject1.pyproj.user
    \FlaskWebProject1\requirements.txt
    \FlaskWebProject1\runserver.py
    \FlaskWebProject1\FlaskWebProject1\static
    \FlaskWebProject1\FlaskWebProject1\templates
    \FlaskWebProject1\FlaskWebProject1\views.py
    \FlaskWebProject1\FlaskWebProject1\__init__.py
    \FlaskWebProject1\FlaskWebProject1\__pycache__
    \FlaskWebProject1\FlaskWebProject1\static\content
    \FlaskWebProject1\FlaskWebProject1\static\fonts
    \FlaskWebProject1\FlaskWebProject1\static\scripts
    \FlaskWebProject1\FlaskWebProject1\static\content\bootstrap.css
    \FlaskWebProject1\FlaskWebProject1\static\content\bootstrap.min.css
    \FlaskWebProject1\FlaskWebProject1\static\content\site.css
    \FlaskWebProject1\FlaskWebProject1\static\fonts\glyphicons-halflings-regular.eot
    \FlaskWebProject1\FlaskWebProject1\static\fonts\glyphicons-halflings-regular.svg
    \FlaskWebProject1\FlaskWebProject1\static\fonts\glyphicons-halflings-regular.ttf
    \FlaskWebProject1\FlaskWebProject1\static\fonts\glyphicons-halflings-regular.woff
    \FlaskWebProject1\FlaskWebProject1\static\scripts\bootstrap.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\bootstrap.min.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery-1.10.2.intellisense.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery-1.10.2.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery-1.10.2.min.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery-1.10.2.min.map
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery.validate-vsdoc.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery.validate.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery.validate.min.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery.validate.unobtrusive.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\jquery.validate.unobtrusive.min.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\modernizr-2.6.2.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\respond.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\respond.min.js
    \FlaskWebProject1\FlaskWebProject1\static\scripts\_references.js
    \FlaskWebProject1\FlaskWebProject1\templates\about.html
    \FlaskWebProject1\FlaskWebProject1\templates\contact.html
    \FlaskWebProject1\FlaskWebProject1\templates\index.html
    \FlaskWebProject1\FlaskWebProject1\templates\layout.html
    \FlaskWebProject1\FlaskWebProject1\__pycache__\views.cpython-37.pyc
    \FlaskWebProject1\FlaskWebProject1\__pycache__\__init__.cpython-37.pyc

Tags: pyjsscriptsfontsstaticcontentjquerybootstrap
2条回答

感谢马辛。 AWS Visual Studio工具包将不支持部署或环境创建。它只适用于.Net环境

我已更新了https://github.com/jlongo62/Flask-Web-Project以反映这些说明

  1. 创建AWS弹性豆茎环境。使用门户或CLI。 环境>;创建环境(Web服务器环境)>;选择

设置:

  • 平台:Python
  • 平台分支:Python 3.7
  • 平台版本:3.0.3
  1. 添加内容application.py(端口8000似乎是一个关键因素):

"""
This script runs the FlaskWebProject1 application using a development server.
"""

from os import environ
from FlaskWebProject1 import app as application

if __name__ == '__main__':
    HOST = environ.get('SERVER_HOST', 'localhost')
    try:
        PORT = int(environ.get('SERVER_PORT', '8000'))
    except ValueError:
        PORT = 8000
    application.run(HOST, PORT)
  1. 使用以下根目录创建一个zip。Zip文件名并不重要:

application.py
FlaskWebProject1
requirements.txt
  1. 使用门户(或cli)部署zip
  • 弹性豆茎>;环境>;烧瓶WebProject1环境
  • 单击上载和部署

您的应用程序在Python 3.7 running on 64bit Amazon Linux 2/3.0.3EB环境中运行

只要把runserver.py改成application.py。此外,您还可以稍微修改(端口和名称)其内容,除非您希望自定义EB环境以匹配应用程序的设置

application.py

"""
This script runs the FlaskWebProject1 application using a development server.
"""

from os import environ
from FlaskWebProject1 import app as application

if __name__ == '__main__':
    HOST = environ.get('SERVER_HOST', 'localhost')
    try:
        PORT = int(environ.get('SERVER_PORT', '8000'))
    except ValueError:
        PORT = 8000
    application.run(HOST, PORT)

将其压缩到app.zip(示例名称),内容如下:

application.py
FlaskWebProject1
requirements.txt

部署app.zip

相关问题 更多 >