0
回答
简单笔记一下关于Apache支持perl 以及mod_perl 的http.conf配置.
终于搞明白,存储TCO原来是这样算的>>>   

Linux 下,默认就会集成 perl 环境。

直接执行 perl -version 就能得出当前 perl 的版本号。

所以,linux 下的 apache 默认也是支持perl Cgi 运行的。只是你有没把配置项打开。

编辑 http.conf

找到     #AddHandler cgi-script .cgi

把前边的#去掉,然后在 .cgi  后加上 .pl 

AddHandler cgi-script .cgi .pl

重启apache即可。

然后如果你的程序是在  http://localhost/perl  这个地址的的话,就要

----------------------------我是分割线---------------------------
ScriptAlias /perl/ "/data/server2_NFS/disk_e/WebServer/perl/"


AllowOverride None
Options None
Order allow,deny
Allow from all

----------------------------我是分割线---------------------------

 留意好每个 /  斜杠啊。不然老出 403 跟 404
虚拟主机的话就这样:http://perl.gznow.cn/perl

----------------------------我是分割线---------------------------


    ServerAdmin qbanke@163.com
    DocumentRoot /data/web_server/perl/
    ServerName perl.gznow.cn
    ServerAlias perl.gznow.cn
    DirectoryIndex index.pl
    #######

    ScriptAlias /perl/ "/data/server2_NFS/disk_e/WebServer/perl/"

  
   AllowOverride None
   Options None
    Order allow,deny
    Allow from all
   

 ----------------------------我是分割线---------------------------

 也是留意好每个 /  斜杠啊。不然老出 403 跟 404

然后,为了充分发挥perl速度,建议你往apache 里头编译加载 mod_perl

方法很简单,http://perl.apache.org/download/index.html 再这里头下就可以了。

然后把下载回来的 .tar.gz 解压缩,然后进入执行安装命令。

# cd mod_perl-2.0.4

# perl Makefile.PL

它会问你的 apache  apxs 路径

Please provide a full path to 'apxs' executable
(press Enter if you don't have it installed):

你就把完整的路径给它,例如我的就是 /usr/local/apache2/bin/apxs
输入完后回车,它其实就是像往常tar包编译的 configure 一样,把你的环境扫描一遍。
并且提示你要在 httpd.conf 里边添加 LoadModule perl_module modules/mod_perl.so

先别急,编译安装好了再加也行!向导完成后接着在当前目录

# make
# make install

完成! 你就会在 /usr/local/apache2/modules 下发现多了个 mod_perl.so
好了,现在你可以在 httpd.conf  把刚才那句加上去了。

# vi httpd.conf

找到 # LoadModule foo_module modules/mod_foo.so
在下边一行加入
LoadModule perl_module modules/mod_perl.so

:wq 保存退出 重启 apache即可!

加载了 mod_perl.so 之后,apache 对 perl 的支持就更加强大了。
httpd.conf  per 目录的配置的表达式也不同了。
以下是我用于测试环境的 虚拟主机 支持 perl 的配置。
直接在 perl.gznow.cn  站点的根目录

 
    ServerAdmin qbanke@163.com
    DocumentRoot /data/web_server/perl/
    ServerName perl.gznow.cn
    ServerAlias perl.gznow.cn
    DirectoryIndex index.pl
    #######

   
    Options FollowSymLinks ExecCGI      #这个是加载了mod_perl 后权限项目的表达式。
    AllowOverride All
    Order allow,deny
    Allow from all
   

 

 ------------------------ 我是分割线------------------------

如果像刚才那样 http://localhost/perl/ 
加载 mod_perl 之后就这么写。
运行速度可不一样哦!

   Alias /perl/ "/data/server2_NFS/disk_e/WebServer/perl/"

   
    SetHandler                  perl-script
    PerlResponseHandler         ModPerl::Registry
    Options                     +ExecCGI
    PerlOptions                 +ParseHeaders
   

举报
范堡
发帖于9年前 0回/7K+阅
顶部