mod_perl和多个虚拟主机

时间:2012-11-04 13:00:57

标签: perl apache mod-perl2

我们遇到这种情况: - 运行mod_perl的Apache - 具有自己目录的多个虚拟主机 - 每个虚拟模块的perl模块名称相同(开发主机,模块略有不同,但名称相同) - Apache2 ::重新加载每个虚拟主机以在更改时重新加载模块

但是,对于每次重复加载的1/3请求,apache会抛出500错误,并且日志中没有特定错误,只有关于“重新定义的函数”的警告。

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

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