在 AWS Elastic Beanstalk 上部署 Flask 与运行脚本有何不同?

2024-02-01

在 ec2 实例上部署 Flask 应用程序(换句话说,在任何计算机上运行脚本)和通过 AWS Elastic Beanstalk 部署 Flask 应用程序有什么区别?烧瓶部署文档 http://flask.pocoo.org/docs/0.12/deploying/说:

Flask 的内置服务器虽然轻量且易于使用,但并不 适合生产,因为它不能很好地扩展并且默认情况下服务 一次只有一个请求。一些可正确使用的选项 在生产中运行 Flask 记录在此处。

他们推荐的部署选项之一是 AWS Elastic Beanstalk。当我读完亚马逊的解释 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html然而,如何部署 Flask 应用程序,它们似乎are使用与 Flask 内置的完全相同的服务器应用程序,例如它是单线程的,因此无法处理同时请求。据我了解,Elastic Beanstalk 允许您部署多个副本,但它似乎仍然使用内置的 Flask 服务器应用程序。我缺少什么?


TL;DR 完全不同 - Elastic Beanstalkdoes使用比 Flask 开发服务器更好的明智的 WSGI 运行器!

然而,当我阅读 Amazon 关于如何部署 Flask 应用程序的解释时,似乎他们正在使用与 Flask 内置的完全相同的服务器应用程序

几乎,但不完全是。

你可以确认这个isn't通过自己删除 run-with-built-in-server 部分来解决这种情况 - 即示例中的以下内容:

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()

您将无法在本地自行运行它python application.py但它仍然可以在 EB 上愉快地运行!

EB Python 平台使用自己的 WSGI 服务器(带有 mod_wsgi 的 Apache,我上次查看)和一些假设/配置来查找可调用的 WSGI:

From 为 Elastic Beanstalk 配置 Python 项目 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-common-steps.html#python-common-configuring:

默认情况下,Elastic Beanstalk 会查找名为 application.py 的文件来启动您的应用程序。如果您创建的 Python 项目中不存在该文件,则需要对应用程序环境进行一些调整。

如果你签出的文档aws:elasticbeanstalk:container:python名称空间 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-specific.html#command-options-python您将看到可以将其配置为在其他地方查找 WSGI 应用程序:

WSGIPath:包含 WSGI 应用程序的文件。该文件必须具有可调用的“应用程序”。默认:application.py

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 AWS Elastic Beanstalk 上部署 Flask 与运行脚本有何不同? 的相关文章

随机推荐

  • 无法执行目标 org.apache.maven.plugins:maven-clean-plugin:2.4.1

    我正在做一个maven项目 我的IDE是Eclipse 我无法掌握的是当我在Eclipse中使用 clean X 时 它会报告以下错误 Apache Maven 3 0 4 r1232337 2012 01 17 16 44 56 0800
  • 将 Emacs AUCTeX 与 Sumatra PDF 同步

    有了我的这些行init el我能够将 Emacs LaTeX 缓冲区与 Sumatra 同步 setq TeX source correlate mode t setq TeX source correlate method synctex
  • 为什么我会出现 Keras 形状不匹配的情况?

    我正在遵循一个针对初学者的 Keras mnist 示例 我尝试更改标签以适合我自己的数据 该数据有 3 个不同的文本分类 我正在使用 to categorical 来实现这一点 形状对我来说看起来不错 但 fit 会出现错误 train
  • 查找数组中长度为 k 的所有子集

    给定一组 1 2 3 4 5 n 对于 n 个元素 我们需要找到长度为 k 的所有子集 例如 如果 n 4 且 k 2 则output将会 1 2 1 3 1 4 2 3 2 4 3 4 我什至不知道如何开始 我们不必使用内置的库函数 如
  • 你怎么会忘记 Laravel 中缓存的 Eloquent 模型呢?

    关于 Laravel 的理论问题在这里 所以我要做的缓存示例是 Article with comments gt remember 5 gt get 理想情况下 我希望有一个文章更新事件 当该模型的实例 已缓存 的 ID 更新时 我想忘记该
  • 存在哪些 ASP.NET MVC 示例项目? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 混合语言框架

    我有一个用 Objective C 编写的框架 我们称之为 MyKit 我用一些 Swift 类对其进行了扩展 我正在尝试使用以下文档来理解它 https developer apple com library ios documentat
  • OpenGL ES 片段着色器可以更改片段的深度值吗?

    OpenGL ES 2 0 中的片段着色器可以更改像素的 Z 值 深度 吗 在 OpenGL ES 2 0 中这是如何实现的 No gl FragDepth 这是 GLSL 桌面版本的一部分 在 OpenGL ES 中不存在 但是 您可以检
  • NHibernate 将类属性映射到行而不是列

    是否可以映射一个类 其中每个属性存储为表中的行而不是列 该场景是我们将全局选项保存到数据库的情况 我们将选项存储在 选项 类中 每个选项都有一个属性 即 展开菜单 退出时保存 等 我们不想将每个选项存储在其自己的表列中 而是希望有一个表 其
  • 如何获取包含占位符的属性的原始值?

    我试图在我的 properties 文件之一中定义以下属性 personExpression person surname 然后由配置类读取 Configuration public class TemplateConfig Autowir
  • 在 Chrome 扩展程序中获取 JSON

    我的 chrome 扩展有一个小问题 我只是想从另一台服务器获取 JSON 数组 但清单 2 不允许我这样做 我尝试指定content security policy 但 JSON 数组存储在没有 SSL 证书的服务器上 那么 如果不使用清
  • 更改 varchar 列的最大长度?

    我正在尝试将 varchar 列的长度从 255 个字符更新为 500 个字符 而不会丢失内容 我之前已经删除并重新创建过表 但我从未接触过 alter 语句 我相信我需要使用它来执行此操作 我在这里找到了文档 更改表 Transact S
  • Python——使用 Selenium 打开多个选项卡

    我正在使用Python 我正在尝试在 Chrome 上打开两个选项卡 每个选项卡都指向不同的网站 这是我的代码 from selenium import webdriver from selenium webdriver common ke
  • 将视频添加到 YouTube 上用户最喜欢/喜欢的播放列表

    目的是使用 YouTube API 创建一个收藏 喜欢按钮 当用户单击该按钮时 视频将保存到用户的 收藏 喜欢 播放列表中 就像您在自己的网站上实施 Facebook Like 按钮时的工作原理一样 这本质上是对发布的出色解决方案的后续问题
  • 在 google oauth 后,如何在不使用 webview 的情况下将用户重定向回我的应用程序?

    谷歌决定禁止通过 webview 进行 oauth 给我带来了巨大的麻烦 迁移到替代方案是一个漫长而困难的过程 我目前正在使用建议的 AppAuth 库 并且我收到用户抱怨 如果不将帐户添加到 chrome 他们的设备 这作为据我所知 如果
  • 地址簿联系人排序

    我有下面的代码 我设法从地址簿中列出了姓名和电话号码 但如何按名字对其进行排序 ABAddressBookRef addressBookRef ABAddressBookCreateWithOptions NULL NULL abConta
  • 多线程 Grep

    我有以下包含 30233088 字符串的 大 文件 head mystringfile txt GAATGAACACGAAGAA GAATGAACACGAAGAC GAATGAACACGAAGAG GAATGAACACGAAGCA cat
  • 为什么厨师无法解析我的食谱?

    Intro我正在学习 Chef 以自动化工作中的服务器管理 我从下载了 Chefdk 3 0here https downloads getchef com chef dk windows 现在我正在尝试使用厨师制作我的第一本食谱 重要的我
  • .npm 缓存与 node_modules 大小

    在构建节点应用程序时 我们使用 npm 缓存 如下所示 npm install cache tmp node cache npm prefer offline 但是我有理由相信 缓存无法正常工作 因为 tmp node cache du s
  • 在 AWS Elastic Beanstalk 上部署 Flask 与运行脚本有何不同?

    在 ec2 实例上部署 Flask 应用程序 换句话说 在任何计算机上运行脚本 和通过 AWS Elastic Beanstalk 部署 Flask 应用程序有什么区别 烧瓶部署文档 http flask pocoo org docs 0