加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何将mod_perl中的Perl代码移植到FastCGI?

发布时间:2020-12-16 06:24:42 所属栏目:大数据 来源:网络整理
导读:我们有一个支持mod_perl的现有Perl应用程序.但是,我们的新主机(Dreamhost)不支持mod_perl,只支持FastCGI;因此需要港口. 现有代码不使用任何Apache特定的东西,只是以mod_perl可接受的方式编写的普通Perl代码. 阅读文档和在线教程,似乎添加FastCGI支持涉及将现
我们有一个支持mod_perl的现有Perl应用程序.但是,我们的新主机(Dreamhost)不支持mod_perl,只支持FastCGI;因此需要港口.

现有代码不使用任何Apache特定的东西,只是以mod_perl可接受的方式编写的普通Perl代码.

阅读文档和在线教程,似乎添加FastCGI支持涉及将现有代码包装在特定类型的循环中.以下是最常用的骨架代码:

A.使用FCGI

use FCGI;
while (FCGI::accept >= 0)
{
    #Run existing code.
}

B.使用CGI :: Fast

use CGI::Fast
while (my $cgi = CGI::Fast->new()) 
{  
   #Run existing code.
}

次要问题:

>方法A和B是否是添加FastCGI支持的等效方法?
>如果A和B不同,那么使用一个和另一个的利弊是什么呢?
>从mod_perl移植到FastCGI时,是否有任何应该知道的最佳实践或问题?

谢谢.

解决方法

一般来说,FastCGI应用程序与CGI非常相似.主要区别在于您可以利用您的流程能够持久化的事实.您可以利用它来获得应用程序的速度优势 – 例如,您可以在运行的进程中缓存数据库数据.从本质上讲,您将应用程序更改为自己的应用程序服务器,在Web服务器提供的FastCGI网关后面运行.

我们的想法是弄清楚如何使您的应用程序的处理方式适用于FastCGI网关.您是否使用任何mod-perl特定功能?如果是这样,请远离它.如果没有,那么就开始通过FastCGI进行交谈.您有一个优势,即Perl可以使用FastCGI接口.我假设您正在使用某种版本控制系统,因此只需创建一个用于移植到FastCGI的分支.然后,开始考虑POST和PUT,从标准输入读取,并将应用程序的响应写入标准输出.

您可能还想阅读为应用程序实现FastCGI接口的库.您可以在fastcgi.com找到其中的一些.这可能有助于您了解您的应用程序与当前正在执行的操作有何不同.

祝好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读