Apache-2.2
Apache + mod_fcgid + perl = 錯誤 500
我正在嘗試使用 mod_fcgid 和 libapache2-mod-perl2 設置 Apache2.2,但沒有成功。
我在
fcgi-bin
網站的根目錄中創建了一個目錄,並在其中放置了一個test.fcgi
包含以下內容的文件:#!/usr/bin/perl use CGI; print "This is test.fcgi!\n";
嘗試通過
http://www.website.dom/fcgi-bin/test.fcgi
我訪問它時收到錯誤 500(內部伺服器錯誤)。這是我的虛擬主機配置:
<VirtualHost 95.131.29.226:8080> ServerName website.com DocumentRoot /var/www/data/website.com SuexecUserGroup user group ServerAlias www.website.com AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml <Directory "/var/www/data/website.com/fcgi-bin/"> Options +ExecCGI Allow from all Order allow,deny AddHandler fcgid-script .fcgi </Directory> </VirtualHost>
fcgid.conf:
<IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi SocketPath /var/lib/apache2/fcgid/sock IdleTimeout 3600 ProcessLifeTime 7200 MaxProcessCount 8 DefaultMaxClassProcessCount 2 IPCConnectTimeout 8 IPCCommTimeout 60 </IfModule>
SuExec 日誌:
[2010-04-06 03:02:47]: uid: (500/equ) gid: (502/equ) cmd: test.fcgi
阿帕奇錯誤日誌:
test! test! [Tue Apr 06 03:02:51 2010] [notice] mod_fcgid: process /var/www/data/website.com/fcgi-bin/test.fcgi(26267) exit(communication error), terminated by calling exit(), return code: 0 [Tue Apr 06 03:02:53 2010] [notice] mod_fcgid: process /var/www/data/website.com/fcgi-bin/test.fcgi(26261) exit(server exited), terminated by calling exit(), return code: 0
我不知道為什麼會收到錯誤 500,但是當我嘗試使用控制台(
$ perl /var/www/data/website.com/fcgin-bin/test.fcgi
)訪問此文件時,一切正常,沒有任何錯誤…任何有關如何解決此問題的建議將不勝感激。
謝謝!
問題是我必須使用以下命令為 FastCGI 安裝 Perl 模組:
perl -MCPAN -e 'install FCGI'