Что может вызвать цикл перенаправления с Pylons + uWSGI + Cherokee?
Вопрос
У меня не было проблем с Django + uWSGI + Cherokee.НО я хотел бы попробовать пилоны, прежде чем переходить к какой-либо платформе.
Я следовал руководству с pylonshq.com — 1.0/gettingstarted.
У меня не возникло никаких проблем при обкатывании пилонов пастой.
Поэтому я использовал инструкции по запуску пилонов с помощью uWSGI из project.unbit.it — uwsgi/wiki/UsePaste.
Это строка интерпретатора исходного кода, которую я использовал с Cherokee (соединение 127.0.0.1:5000):
uwsgi -s 127.0.0.1:5000 --paste config:/var/www/pylons/example/development.ini -H /var/www/pylons/ -M
Мой vServer в Cherokee — bokken.test.com с корневым каталогом:/var/www/pylons/Пример/Пример/Public (я пробовал с и без сцепления)
Мой обработчик правила «Каталог/» установлен на источник uWSGI, но для конкретного обработчика не установлен корневой каталог.
Когда я посещаю bokken.test.com, я получаю ошибку цикла перенаправления.
Гугл Хром:
The webpage at http://bokken.test.com// has resulted in too many redirects (Notice the extra slash).
Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects.
Журнал ошибок:
*** Starting uWSGI 0.9.5.4 (32bit) on [Sat Aug 7 19:01:51 2010] ***
compiled with version: 4.4.3
Python version: 2.6.5 (r265:79063, Apr 16 2010, 13:28:26)
[GCC 4.4.3]
your memory page size is 4096 bytes
allocated 372 bytes (0 KB) for 1 request's buffer.
Setting PythonHome to /var/www/pylons/...
binding on TCP port: 5000
your server socket listen backlog is limited to 64 connections
initializing hooks...done.
Loading paste environment: config:/var/www/pylons/example/development.ini
application 0 (/) ready
setting default application to 0
spawned uWSGI master process (pid: 1278)
spawned uWSGI worker 1 (pid: 1280)
[pid: 1280|app: 0|req: 1/1] 192.168.0.198 () {52 vars in 926 bytes} [Sat Aug 7 19:01:55 2010] GET / => generated 433 bytes in 7 msecs (HTTP/1.1 301) 2 headers in 95 bytes (0 async switches on async core 0)
В отличие от Django, ни в одном из найденных мной руководств не указан сценарий uwsgi.xml или .wsgi.Я не уверен, что нужно изменить.
Решение
Вы говорите, что установили корневой файл Cherokee vServer в каталог /example/public вашего проекта Pylons.Похоже, что это проблема — Pylons ищет файлы для обслуживания в общедоступном каталоге, прежде чем пытаться сопоставить контроллер, поэтому вы настраиваете себя на будущие проблемы.Корневая папка приложения Pylons, вероятно, должна находиться там, где вы указываете vServer, и позволить Pylons обрабатывать свой собственный участок дерева каталогов.
Кроме того, вам обязательно понадобится сценарий .wsgi — последний фрагмент вашего вопроса подразумевает, что у вас его нет?Это немного сбивает с толку – поясните, пожалуйста.