2012-11-04 80 views
2

我们有这样的情况: - Apache上运行的mod_perl - 用自己的目录 多个虚拟主机 - 每个虚拟模块具有Perl模块相同的名称(开发主机,模块不同的一点点,但有相同的名称) - Apache2 :: Reload为每个虚拟主机重新加载模块更改的mod_perl和多个虚拟主机

但apache抛出500错误的每页1/3请求重新加载页面,并没有在日志中的具体错误,只有警告关于“重新定义功能“。

也许有一些要求运行相同的模块名称,但不同的路径,并将它们区分开来?

回答

2

下面是它如何做的:

NameVirtualHost 192.168.0.140 

<VirtualHost 192.168.0.140> 
    PerlOptions +Parent 
    PerlSwitches -Mlib=/path/to/application 
    DocumentRoot /path/to/application 
    ServerName name.domain.com 
</VirtualHost> 
1

不,您不能“运行相同的模块名称,但具有不同的路径”。 Perl不会那样工作。如果你想拥有多个环境,请将它们分开。您可以在各种端口上运行具有不同配置的许多Apache实例(请参阅-f *configfilename*选件)。然后在主服务器的每个虚拟主机中,将代理反向代理到相应端口上的后端服务器。