2015-03-27 2 views
0

Я пробовал несколько веб-серверов. Сегодня я пробовал Tornado web server.Как получить скрипт CGI для запуска на веб-сервере Tornado?

Одна из первых вещей, которые я делаю, когда я пытаюсь создать новый веб-сервер, - это заставить веб-сервер запускать мой тестовый сценарий CGI.

Я вижу кучу информации по адресу http://www.tornadoweb.org/en/stable/wsgi.html о том, как заставить веб-сервер Tornado запускать сценарии, использующие протокол WSGI (он включает WSGIContainer). Но я не вижу ничего на сайте tornadoweb.org о том, как заставить веб-сервер Tornado запускать сценарии, использующие протокол CGI. (Может быть, где-то еще, что может быть где-то еще, что говорит о том, что веб-сервер Tornado выполняет сценарии CGI?)

Я озадачен, потому что буквально каждый другой веб-сервер, который я когда-либо пробовал, имеет какой-то способ запускать CGI-скрипты с использованием стандартного протокола CGI.

Мой веб-сервер Tornado просто обслуживает мой файл сценария CGI в виде текста на моем веб-браузере; насколько я могу судить, он никогда не выполняет сценарий CGI. (Возможно, я пропустил какой-то важный этап настройки?)

У меня отсутствует документация, в которой говорится, как убедить Торнадо выполнить сценарий CGI, а не скопировать его в веб-браузер? Пожалуйста, ссылку на него.

Возможно, люди, которые управляют веб-сервером Tornado, всегда запускают некоторый другой веб-сервер для обработки сценариев CGI? Просьба ссылаться на то, что показывает, как я могу заставить Торнадо и другой веб-сервер работать более или менее одновременно на одной машине и разделять их обязанности.

(Это не дубликат « Tornado or Django works with CGI? » вопрос который спрашивает, как получить торнадо запустить , как в CGI-сценарий под другим приложением веб-сервера. В моем случае, торнадо является только приложение веб-сервера на этом компьютере, и я пытаюсь запустить простой CGI-скрипт под Tornado).

+0

Возможно, вы можете взломать какой-то способ сделать это, но это звучит как плохая идея и побеждает цель Tornado в качестве асинхронного сервера/фреймворка. Что касается запуска Tornado наряду со сценариями CGI, вы, вероятно, должны использовать прокси-сервер. – Jared

ответ

1

Торнадо не поддерживает CGI. Tornado не является универсальным веб-сервером в том виде, как Apache и nginx; он предназначен для запуска приложений, построенных с использованием инфраструктуры Tornado (т. е. tornado.web.RequestHandler и друзей). Существует некоторая функциональная совместимость с другими платформами через модуль WSGI, и было бы возможно реализовать CGI поверх HTTPServer Tornado, это как бы упущено.

Многие пользователи Tornado запускают nginx в качестве прокси-сервера перед сервером Tornado, а nginx также может запускать CGI, поэтому это будет хороший способ включить CGI в вашу настройку, если вам это нужно.

Смежные вопросы