如何在 Tornado 网络服务器上获取 运行 下的 CGI 脚本?

How do I get a CGI script to run under on a Tornado web server?

我正在试用几个网络服务器。今天我正在试用 Tornado web server.

当我尝试一个新的网络服务器时,我做的第一件事就是让网络服务器 运行 我的测试 CGI 脚本。

我在 http://www.tornadoweb.org/en/stable/wsgi.html 看到了一堆关于如何让 Tornado 网络服务器到 运行 使用 WSGI 协议(它涉及 WSGIContainer)的脚本的信息。 但是我在 tornadoweb.org 站点上没有看到任何关于如何让 Tornado 网络服务器访问使用 CGI 协议的 运行 脚本的内容。 (我是不是忽略了什么?是否有其他地方谈论让 Tornado 网络服务器执行 CGI 脚本?)

我很困惑,因为实际上我曾经尝试过的所有其他 Web 服务器都可以通过某种方式 运行 使用标准 CGI 协议的 CGI 脚本。

我的 Tornado 网络服务器只是在我的网络浏览器屏幕上以文本形式提供我的 CGI 脚本文件;据我所知,它从不执行 CGI 脚本。 (也许我错过了一些必要的配置步骤?)

我是否遗漏了一些说明如何说服 Tornado 执行 CGI 脚本而不是将其复制到 Web 浏览器的文档?请link给它。

也许 运行 Tornado 网络服务器的人总是 运行 一些 其他 网络服务器来处理 CGI 脚本?请 link 展示我如何让 Tornado 和其他一些网络服务器在同一台机器上或多或少同时 运行 并分担他们的职责。

(这不是“ Tornado or Django works with CGI? “ 题 它询问如何将 tornado 运行 作为 某些其他 Web 服务器应用程序下的 CGI 脚本。在我的例子中,tornado 是这台机器上的 only web 服务器应用程序,我正试图在 Tornado 下获取一些简单的 CGI 脚本 运行)。

Tornado 不支持 CGI。 Tornado 不像 Apache 和 nginx 那样是通用 Web 服务器;它旨在 运行 使用 Tornado 框架构建的应用程序(即 tornado.web.RequestHandler 和朋友)。通过 WSGI 模块与其他框架有一些互操作性,并且有可能在 Tornado 的 HTTPServer 之上实现 CGI,这有点忽略了重点。

许多 Tornado 用户 运行 nginx 作为 Tornado 服务器前面的代理,nginx 也可以 运行 CGI,所以如果您需要,这将是将 CGI 合并到您的设置中的好方法需要它