gpt4 book ai didi

windows - mod_perl 是我要找的吗?快速CGI? PSGI/普拉克?

转载 作者:可可西里 更新时间:2023-11-01 11:12:18 26 4
gpt4 key购买 nike

我已经竭尽全力在网络上找到这个问题的答案。我正在尝试在 Windows 上安装 mod_perl,但有很多死胡同。

  1. mod_perl 就是我要找的吗?***

    我有一组网络应用程序在我公司的本地网络中用于数据库和文件系统接口(interface)。 Web 服务器使用 DBIDBD::mysqlCGI 运行 Apache 2.2 和 ActivePerl 5.16。客户端使用 CGI 参数通过对 Perl 脚本的 AJAX 调用 (jQuery.getJSON) 获取动态内容。流量非常少 - 只有 4 个左右的用户,并且一次只有几个查询。

    我遇到的问题是延迟对于这些应用程序的性质来说是 Not Acceptable 。延迟一般在400ms左右,都是等待时间。我已经尝试过越来越简单的 Perl 脚本,并且相信所有的延迟都是 Perl 解释器造成的。我研究过 FastCGI,但据我了解,这主要涉及高流量,这不是我的问题:这是每个低流量调用的开销。因此,Apache 嵌入式 Perl 解释器(据我所知,mod_perl 是)似乎可以解决我与开销相关的延迟问题。

  2. 如何在后 Randy Kobes 世界中安装它?

    我找到的用于为我的设置安装 mod_perl 的所有资源都涉及服务器 theory5x.uwinnipeg.ca 以前由他运行,现在在他去世后不存在了。 ActivePerl ppm 没有任何内置的 mod_perl 包和 the website显示所有构建失败列表。

Here是一个 ActiveState 社区帖子,解释了为什么没有 ppm。

我确实找到了 this resource除了 Strawberry Perl,它似乎包含了所有缺失的部分。

所以我认为唯一的方法是从源代码安装,但我不知道如何做到这一点。我对 Linux 的熟悉程度为零,而且似乎大部分内容都是针对它的。更糟糕的是,我有一个 64 位 Windows XP 和一个要安装它的 Windows Server。

我想到的另一件事是,也许我需要安装某种发行版,如 XAMPP,而不是自己将所有部分组合在一起。我会很紧张现在改变路线并冒着破坏我的工作但缓慢的应用程序的风险

最佳答案

Is mod_perl even what I'm looking for?

我希望不会。

mod_perl 有问题。您的 Apachemod_perlperl 都需要使用兼容的编译器和架构构建,以便它们都可以在运行时链接。当您使用 mod_perl 时,将不会运行带有 64 位 perl 的 32 位 Apache。根据我的经验,mod_perl 还应该根据 特定版本Apacheperl 的头文件进行编译。假设您正确地混合了所有这些秘诀,您现在运行的 Web 服务器可能会因编写不当的 perl 脚本而崩溃。但从好的方面来说,这比普通的 CGI 更有效。

在这种疯狂的几年之后,FastCGI 被发明了。通过作为持久但独立的进程运行,Web 服务器能够实现 mod_perl(或 mod_PHP 或 mod_python)的效率,而无需需要二进制兼容性或稳定性风险。想想自由!一个 Apache 模块,只关心与其 Apache 主机的二进制兼容性,并且可以将任务分包给 Perl、Python、C 甚至 Visual Basic。 (我只是有一个邪恶的想法,想尝试用 Forth 或 Lisp 做网络服务,但那太疯狂了。)

在 linux 发行版(或其他固定的 XAMPP 堆栈)上运行可以使 mod_perl 的设置和维护更容易,因为他们会将它分发到一个包中,该包已被编译以与他们提供的包一起使用Apache 和 Perl。不幸的是,如果您想使用非“官方”发行版的 Apache 或 perl 版本运行,请准备好自己动手做。即便如此,发行版的软件包并不能缓解运行 mod_(选择语言)时固有的稳定性问题。


无论如何,在您启动并运行新配置之前,需要修改现有的 CGI 脚本。您可以选择将它们重写为 mod_perl、FastCGI 或 PSGI/Plack 标准。如果您选择重写为 PSGI/Plack 标准,那么您就可以不太关心 Web 服务器当前或 future 配置的细节。

How do you install it in a post Randy Kobes world?

您问题中的最后一个链接似乎是正确的。你有宗教信仰还是PHB基于理由更喜欢 ActivePerl 而不是 StrawberryPerl?最后,mod_perl 要求它是针对您的特定版本 的Apache 和您的特定版本 的perl 构建的。这将涉及您自己编译它,其他人打包多个 Apache/perl 版本组合的版本,或者其他人打包一个版本并要求您使用他们首选的 Apache 和 perl 版本。

如果您选择 mod_perl 路线并且稍微相信服务器软件应该保持最新(XP?认真的?),那么请准备好自己推出或信任您的第 3 方让您保持最新。当然,如果您是一个肇事逃逸的开发人员,那么这将大大释放您的选择...


tl-dr:

FastCGI 是您的 friend 。特别是如果您运行的是 Windows 并且希望使服务器软件保持最新。

mod_perl 在有负责任的发行版或负责任的开发人员支持且乐于从其源代码构建它时效果最佳。 ...反复。

关于windows - mod_perl 是我要找的吗?快速CGI? PSGI/普拉克?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com