Попытка заставить Mongrel2 + m2wsgi работать

Я пытаюсь заставить mongrel2 работать с m2wsgi. Что мне нужно сделать, чтобы я мог видеть "Hello World!" в моем браузере? Mongrel2 установлен, но никаких настроек сайта еще не сделано.

def app(environ, start_response):
  start_response("200 OK", [('Content-Type', 'text/plain')])
  return ['Hello World!', ]

Попытка запустить это:

m2wsgi test

AssertionError: указанное приложение не вызывается

Я использую Ubuntu Maverick.

2 ответа

Чтобы m2wgi мог загрузить ваше приложение, оно должно быть в вашей PYTHONPATH, поэтому, чтобы иметь возможность запустить тестовое приложение, попробуйте скопировать test.py модуль где-нибудь в вашей PYTHONPATH или, проще, попробуйте это:

PYTHONPATH=.:$PYHTONPATH m2wsgi test.app tcp://127.0.0.1:9995

Предполагая, что в вашей базе данных конфигурации mongrel2 есть маршрут, указывающий на обработчик с send_spec = tcp://127.0.0.1:9995 а также recv_spec = tcp://127.0.0.1:9994, Я попробовал это локально, и это сработало:

daltonmatos@jetta ~ [6]$ curl http://localhost/m2wsgi/
Hello World!daltonmatos@jetta ~ [7]$

Взгляните на сообщение в блоге, цитируемое Шоном, у вас есть отличная идея о том, как настроить mongrel2 и настроить ваши хосты / маршруты / обработчики. Также попробуйте wsgid, возможно вам понравится =). Он также поддерживает сырые приложения WSGI.

Гук удачи и счастливого взлома!

Если Mongrel2 настроен не полностью, так как ваш оператор "Mongrel2 установлен, но какие-либо конфигурации сайта еще не выполнены", это предполагает, что он не сможет найти ваше приложение (документация m2wsgi, возможно, не так ясна, как быть). Вот руководство по настройке Mongrel2 и готовности к подключению к приложению WSGI - оно использует wsgi d вместо m2wsgi, но я уверен, что вы можете адаптировать его под свои нужды.

Другие вопросы по тегам