mod_perl和Passenger如何在同一台Apache服务器上运行?
问题描述:
这甚至可能吗?mod_perl和Passenger如何在同一台Apache服务器上运行?
我有一个运行在Passenger上的Rails应用程序和一个需要在同一台服务器上运行的mod_perl站点。我已经尝试设置两个VirtualHosts,并且我尝试过使用一个VH和一个别名/位置作为mod_perl。在这两种情况下,Passenger都会尝试提供mod_perl应用程序,并告诉我它找不到正确的文件。任何人都知道我在做什么错了?
这里是我的设置ATM:
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>
答
嗯,现在我只是将它们设置为使用不同的端口连接两个不同的VirtualHosts。这是有效的,但对我的网站来说有点麻烦,如果有人有更好的主意,我全都听。谢谢。
编辑:明白了!我最终在不同的端口上设置了两个VirtualServer,然后使用mod-proxy将流量重定向到/ rt站点到mod-perl VirtualServer(将Passenger之一作为默认值)。这很好用,而且我的mod_perl网站中最棒的一个相信它仍然和Passenger在同一个地方,这也消除了我正在处理的很多兼容性问题。我知道我错过了一些简单的事情!只要把这件事放在其他人遇到问题的情况下。