在 AWS Elastic Beanstalk 上部署 Tornado 应用程序

2024-02-04

我有一个服务器写在Python 2.7/龙卷风我正在尝试将其部署在 AWS 上。 我碰到AWS 弹性豆茎这看起来是部署代码的一种非常方便的方法。

我经历过这个tutorial http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html并能够部署 Flask 示例应用程序。 但是,我不知道如何部署测试龙卷风应用程序,如下所示。

import tornado.web
import tornado.ioloop

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

if __name__ == "__main__":
    app = tornado.web.Application([
        (r"/.*", MainHandler),
    ])

    app.listen(5000)
    tornado.ioloop.IOLoop.current().start()

当我尝试部署上述应用程序时,我的所有请求都会导致错误 500,并且我不知道如何解决此问题,因为我不知道 Flask 示例是如何工作的,但 Tornado 代码却不是。

The 要求.txt文件中有一个 torchado==4.4.2 的条目。

我尝试添加一些日志语句来写入外部文件,但该文件没有被创建,这可能意味着应用程序甚至没有启动。

如果有人可以提供一些,那就太好了在 AWS-EB 上部署 Tornado 应用程序的步骤或者我应该如何开始解决这个问题。 如果我需要提供更多详细信息,请告诉我。

Thanks!

Update

在注意到 httpd error_log 文件、AWS 文档和 Berislav Lopac 的答案中的错误后,我找到了实现 Tornado 服务器的正确方法。 这是一个简单的服务器

import tornado.web
import tornado.wsgi
import tornado.ioloop

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

webApp = tornado.web.Application([
    (r"/", MainHandler),
])

# Wrapping the Tornado Application into a WSGI interface
# As per AWS EB requirements, the WSGI interface must be named
# 'application' only
application = tornado.wsgi.WSGIAdapter(webApp)

if __name__ == '__main__':
    # If testing the server locally, start on the specific port
    webApp.listen(8080)
    tornado.ioloop.IOLoop.current().start()

附加链接:龙卷风 WSGI 文档 http://www.tornadoweb.org/en/stable/wsgi.html


您可以使用 WSGI mod 部署tornado应用程序

import tornado.web
import tornado.wsgi

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

tornado_app = tornado.web.Application([
    (r"/", MainHandler),
])
application = tornado.wsgi.WSGIAdapter(tornado_app)

http://www.tornadoweb.org/en/stable/guide/running.html http://www.tornadoweb.org/en/stable/guide/running.html

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

在 AWS Elastic Beanstalk 上部署 Tornado 应用程序 的相关文章

  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 亚马逊 SQS 标签

    我们正在尝试在两个 AWS 应用程序之间设置 Amazon SQS 管理层希望跟踪与所有亚马逊资源相关的成本 是否可以标记 Amazon Simple Queue Service 资源 SQS 现在支持此功能 https aws amazo
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • 自动填充子图

    我正在编写一个 python 脚本 该脚本将 1 获取每个子图的 y 值列表 以针对一组通用的 x 值进行绘制 2 将每个子图设为散点图并放置将其放置在子图网格中的适当位置 并且 3 针对不同大小的子图网格完成这些任务 第三个语句的意思是
  • 我是否需要更改 xml 代码以支持所有屏幕尺寸的 Android 设备?

    我已经为不同的屏幕尺寸创建了布局 这是我的默认布局的 xml 代码 但所以任何人请告诉我应该做什么来支持任何屏幕尺寸的 Android 设备的布局 我需要更改我的 xml 代码吗 或者 只是我需要修改我的xml代码吗 请告诉我 以便我解决我
  • Python 2.7 的 Shebang 线

    我已经在我的Linux Centos中安装了Python2 7 它默认安装了Python2 6 默认Python root linuxhost PythonProjects python V Python 2 6 6 默认Python2 7
  • 错误:找不到字段的设置器。 - java.util.ArrayList 中的大小 - Room 中的嵌入式 ArrayList 无法编译

    我在将 Android 4 1 2 更新到 4 2 2 后收到此错误消息 但在将 Android Studio 更新到 4 1 2 以上的任何版本后收到此错误消息 What went wrong Execution failed for t
  • 如果模型实现了 INotifyPropertyChanged,ViewModel 应该如何注册/取消注册 PropertyChanged 事件?

    我有一个实现的模型INotifyPropertyChanged并且它可能会被后台业务线程更新 其相关ViewModel也实现了INotifyPropertyChanged 他们的 View 显然绑定到 ViewModel 该视图可能会显示在
  • 合并两个数据框,两者的坐标都基于最近的位置

    我有一个包含局部变量的大型数据框 约 130000 行 和另一个包含物种密度的大型数据框 约 7000 行 两者都有 x 和 y 坐标 但这些坐标并不总是匹配 例如 df1 lt data frame X c 2 4 1 2 5 Y c 6
  • Django Rest Framework - 注册后返回用户 ID 和令牌

    我尝试注册用户并返回令牌和用户 ID 像这样做 from django shortcuts import render from rest framework response import Response from rest frame
  • APL、A、J、K?

    数组语言的景观虽然令人着迷 但也令人困惑不已 有理由选择 J 或 K 或 APL 或 A 之一吗 这些选项似乎都不是开源的 有开源版本吗 我很想拓展我的思维 但我仍然感到困惑 这些语言之间的差异相对微妙 APL 正确 具有原始符号表示法的优
  • 优化求和函数 - GEKKO

    我刚刚开始学习优化 在寻找以下问题的最佳值时遇到一些问题 注意 这只是我想到的一个随机问题 没有实际应用 Problem where x可以是列表中的任何值 2 4 6 并且y介于 1 和 3 之间 我的尝试 from gekko impo
  • window.open 和 $(document).ready

    我正在尝试制作一个打开弹出窗口的书签 该窗口内有一个 CSS 类列表 一旦选择 该对象就会突出显示window opener页 所以我遇到了两个问题 Firebug 在弹出窗口中不起作用 所以我看不到发生了什么 窗口永远不会完成加载 至少我
  • 如何在Gulp中将CSS文件的内容注入到HTML中? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要将样式表的内容插入到HTML 页面的 我怎样才能在 Gulp 中做到这一点 之前 我所拥有的 之
  • wicked_pdf 图像渲染

    如何获取产品图像并以 PDF 格式显示 我在视图文件中有这段代码 div div 它显示了这辆车的所有图像 但如果我在 show pdf erb 中使用相同的代码 那么我得到的不是图像而是问号 就像图像丢失的东西一样 那么 有没有办法把它们
  • 如何使量角器中的自动化测试脚本等待,直到页面完全加载

    不 但是真的 我知道这个通用问题已被问过数千次 但有一些更具体的问题对我来说看起来可行 因此我想知道如何实现它 问题 我正在测试一个有角度的应用程序量角器 https www protractortest org api 在应用程序内部 我
  • C 中指针的类型转换

    我知道指向一种类型的指针可以转换为另一种类型的指针 我有三个问题 类型转换指针时应记住什么 结果指针可能出现哪些异常 错误 避免异常 错误的最佳实践是什么 编写良好的程序通常不会使用太多指针类型转换 可能需要使用 ptr 类型转换mallo
  • 如何使用 postgres docker 镜像保存数据?

    我试图让我的数据保留在 home me redmine 中 这样当我的容器停止时 不会丢失数据 我正在使用官方的 postgres docker hub 镜像 问题是 每次我启动 postgres 容器时 它都会立即退出 当我将 数据 附加
  • “对称”函数的模式

    按照建议尝试这个新的 stackoverflow 东西 这并不是真正特定于 haskell 的 但它在 haskell 中是最清楚的 这是一个时不时出现的模式 一个函数接受两个对称处理的参数 mappend 经常具有此属性 一个例子 Mer
  • 如何给 CSS 动画添加物理效果?

    我只是使用 CSS 制作一个加载屏幕 我希望它具有物理上准确的行为 我正在尝试与animation timing function cubic bezier 1 0 1 1 看起来不错 但不像我想要的那么真实 一开始因为我不知道该怎么做cu
  • Visual Studio Code-无法打开源文件“iostream”

    我只想尝试使用 Visual Studio 代码进行 C 编码 我已经在我的笔记本电脑 Win10 64 上安装了 vscode 1 18 1 我通过输入以下代码出现错误 include
  • 从相机拍摄照片后如何跳过“重拍并使用”选项

    从相机捕获照片后如何跳过 重拍和使用 选项 或者如何更改这些按钮的字体和颜色 我们使用了以下代码 self gimgPicker GKImagePicker alloc init self gimgPicker cropSize CGSiz
  • 在 AWS Elastic Beanstalk 上部署 Tornado 应用程序

    我有一个服务器写在Python 2 7 龙卷风我正在尝试将其部署在 AWS 上 我碰到AWS 弹性豆茎这看起来是部署代码的一种非常方便的方法 我经历过这个tutorial http docs aws amazon com elasticbe