我在Debian Lenny机器上有2个不同的Web服务器。一个正在运行FastCGI(TRAC),另一个正在运行PHP和一些CGI脚本。所以我现在启用了2个Apache2模块(cgi和fcgi)和2个虚拟主机。对于这两个模块同时运行,我没有其他特别的兴趣。Perl CGI或CGI :: Fast在Debian Lenny上的Apache 2.2下
所以我想只保留Apache fastcgi模块运行,因为它看起来更有效率。
您能否确认以下评估是正确的还是正确的?
1 - 我会什么都没有做/更改为TRAC网站(已运行FCGI)
2 - 我将不得不调整其他web服务器虚拟主机与一个处理程序被设置为FastCGI的脚本
3-我会不得不改变perl模块从“使用CGI”到“使用CGI :: Fast”
4-我将能够保留perl现有的其他CGI脚本的其余变化
5-我不需要在Web服务器脚本中使用CGI ::阿帕奇但CGI :: FastCGI的(I/O当前CGI模块)
我希望我的观点是明确的,因为它是所有有点外国对我...
THX
编辑:
THX的提示,以函数naveed和J-16,
这里是我做得到它的工作,如果它可以帮助别人:
哼哼,安装CGI :: Fast与CPAN,然后它效果更好..
Debian上已安装libperlperl -MCPAN -e shell cpan> install CGI::Fast
改变文件名从*的CGI到* .fcgi,
- 包含在由函数naveed下面劝while循环FastCGI的,
- 设置有关虚拟主机与FastCGI的正确处理程序阿帕奇(见fastcgi doc)
- 启用了Apache的FastCGI模块(a2enmod的FastCGI)和残疾人CGI模块,
- 检查在Apache设置fastcgi.conf文件,
- 重新启动Apache的,
- 检查运行作为FastCGI的一个Apache子过程(PS -afx)
- 修正了一些脚本的问题,已经在..但在运行时的FastCGI新出现的,如劝(通过检查Apache日志检测到的错误),
编辑:适应文件上传代码为初始脚本没有工作了(还是不明白为什么),所以我不得不用这样一个替换while循环:
open(FILE,">$upload_dir/$file_name") while ($bytes_count = read($file_query,$buffer,2096)) { $size += $bytes_count; print FILE $buffer; } close(FILE);
完成。
世界还不完美,但它终于有效。
此外,如果你未初始化的全局变量(啊)你的CGI继电器,你可能要修复它.. – 2010-12-16 08:04:52
THX到你们两个。 – hornetbzz 2010-12-17 00:25:07