我有一个apache web服务器(没有mod_perl)已经运行很长时间了。 有人建议我们使用mod_perl来提高某些脚本的性能。
我想继续在服务器上安装mod_perl,这似乎是一个相对简单的过程,但我对谷歌搜索中出现的一些东西感到困惑。 如果我安装mod_perl(通过debian存储库),我所有现有的CGI会突然开始“使用mod_perl”并展示可能不稳定的行为吗?
或者在apache中是否需要为旧的CGI“开始使用mod_perl”做一些配置?
道歉,如果这是一个简单的答案,但我对文档中以多种方式使用的术语感到困惑。
答案 0 :(得分:1)
必须在httpd.conf中配置mod_perl才能启用。因此,服务器上的每个脚本都不会自动开始使用mod_perl。
通常,您为每个VHost启用mod_perl。 vhost的mod_perl的常规配置如下所示:
<VirtualHost some.funny-domain.com>
ServerName some.funny-domain.com
ServerAdmin admin@funny-domain.com
DocumentRoot /data/path/to/root/
Perlrequire /data/path/to/startup.pl
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlModule Apache2::RequestRec
ScriptAlias /cgi-bin/ "/data/path/to/root/cgi-bin/"
<Location /cgi-bin/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
PerlOptions +SetupEnv
Options +ExecCGI
</Location>
CustomLog logs/access.log combined
ErrorLog logs/error.log
</VirtualHost>
小心自动安装过程!由于某种原因,它可能在错误的主机上启用mod_perl!首先备份您的配置和apache-installation,以便能够轻松“回滚”。
评论 :不需要“ Perlrequire /data/path/to/startup.pl ”这一行。它是可选的,并为mod_perl env。
下的运行脚本设置一些环境变量