Как mod_perl и Passenger могут работать на одном сервере Apache?

Это вообще возможно?

У меня есть приложение Rails, работающее на Passenger, и сайт mod_perl, который должен работать на одном сервере. Я пытался настроить два виртуальных хоста и пытался использовать только один VH и псевдоним/местоположение для mod_perl. В обоих случаях Passenger пытается обслужить приложение mod_perl и сообщает мне, что не может найти нужные файлы. Кто-нибудь знает, что я делаю неправильно?

Вот мой банкомат настройки:

NameVirtualHost *:80
RailsAutoDetect off
<VirtualHost *:80>
   DocumentRoot (home of rails app)/public
   RailsBaseURI /
</VirtualHost>

 PerlModule Apache::DBI
 PerlRequire /opt/rt3/bin/webmux.pl


Alias /rt /opt/rt3/share/html <== mod_perl app
<Location /rt>
  AddDefaultCharset UTF-8
  SetHandler perl-script
  PerlHandler RT::Mason
</Location>

person PJ.    schedule 18.02.2009    source источник


Ответы (1)


Что ж, сейчас я только что настроил их как два разных виртуальных хоста, использующих разные порты для подключения. Это работает, но для моего сайта это немного грязно, и если у кого-то есть идея получше, я внимательно слушаю. Спасибо.

Редактировать: Получилось! В итоге я настроил два виртуальных сервера на разных портах, а затем использовал mod-proxy для перенаправления трафика с сайта /rt на виртуальный сервер mod-perl (оставив Passenger по умолчанию). Это отлично работает, и, что лучше всего, мой сайт mod_perl считает, что он все еще находится в том же месте, что и Passenger, что сглаживает многие проблемы совместимости, с которыми я также имел дело. Я знал, что мне не хватает чего-то простого! Просто поместите это на случай, если у кого-то еще возникнут проблемы с этим.

person PJ.    schedule 18.02.2009