Apache-2.2

Apache + mod_fcgid + perl = 錯誤 500

  • April 6, 2010

我正在嘗試使用 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'

引用自:https://serverfault.com/questions/129563