Gen*_*neQ 5 perl fastcgi mod-perl
我们有一个支持的现有Perl应用程序mod_perl.但是,我们的新主机(Dreamhost)不支持mod_perl,只支持FastCGI; 因此需要港口.
现有代码不使用任何Apache特定的东西,只是正常的Perl代码以可接受的方式编写mod_perl.
阅读文档和在线教程,似乎添加FastCGI支持涉及将现有代码包装在特定类型的循环中.以下是最常用的骨架代码:
A.使用FCGI
use FCGI;
while (FCGI::accept >= 0)
{
#Run existing code.
}
Run Code Online (Sandbox Code Playgroud)
B.使用CGI :: Fast
use CGI::Fast
while (my $cgi = CGI::Fast->new())
{
#Run existing code.
}
Run Code Online (Sandbox Code Playgroud)
次要问题:
mod_perlPortCigI 移植到FastCGI 时,是否有任何应该知道的最佳实践或问题?谢谢.
一般来说,FastCGI 应用程序与 CGI 非常相似。主要区别在于您可以利用您的流程能够持久的事实。您可以利用它在应用程序\xe2\x80\x94中获得速度优势,例如,您可以在运行的进程中缓存数据库数据。本质上,您正在将应用程序更改为自己的应用程序服务器,在 Web 服务器提供的 FastCGI 网关后面运行。
\n\n这个想法是弄清楚如何使应用程序的处理方式适用于 FastCGI 网关。您使用任何 mod-perl 特定功能吗?如果是这样,请远离它。如果没有,那么就开始通过 FastCGI 进行对话。您的优势在于 Perl 可以使用 FastCGI 接口。我假设您正在使用某种版本控制系统,因此只需创建一个用于移植到 FastCGI 的分支即可。然后,开始将 POST 和 PUT 视为从标准输入读取,并将应用程序的响应视为写入标准输出。
\n\n您可能还想通读为应用程序实现 FastCGI 接口的库。您可以在fastcgi.com上找到其中一些。这可能有助于您了解应用程序将执行的操作与当前执行的操作不同。
\n\n祝你好运!
\n| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |