gpt4 book ai didi

apache - 通过 Apache 运行多个 Catalyst 应用程序

转载 作者:行者123 更新时间:2023-12-05 01:19:25 24 4
gpt4 key购买 nike

我有一个装有三个 Catalyst 应用程序的 suse 盒子。最终我需要通过 Apache 使用 mod_perl 和 SSL 运行所有三个(这本身不是问题,每个都有不同的端口)。我已经成功地启动了一个 Catalyst 应用程序,然后成功过渡到 Catalyst 服务器。

如果有人需要一步一步地了解如何执行此操作,您可以在此处查看。 http://www.catalystframework.org/calendar/2005/7

我不是 Apache 专家,但问题是我不知道有一种方法可以在一台服务器上运行多个 Catalyst 应用程序并让 Apache 以某种方式能够同时提供这三个应用程序。

页面位于 http://www.catalystframework.org/calendar/2005/7甚至说了这么多......

缺点
无法运行同一应用的多个版本
不可能在同一个 Apache 实例中运行同一个应用程序的两个不同版本,因为命名空间会发生冲突。

也就是说,这可以通过 Apache 的多个实例实现吗?不知何故?也许通过虚拟主机指令?我知道,通过将 Catalyst 应用程序预加载到 Apache 中,我每次这样做都会占用大量内存。

最佳答案

好的!我找到了答案。您确实可以通过 Apache/mod_perl 运行多个 Catalyst 应用程序,只是不能运行同一应用程序的多个实例。话虽如此,这就是您运行多个程序所需要做的(不使用 VirtualHost 指令)。在你的 default-server.conf 中

PerlSwitches -I/home/me/catalyst/App1/lib
PerlSwitches -I/home/me/catalyst/App2/lib

PerlModule App1
PerlModule App2

<Location /app1>
SetHandler modperl
PerlResponseHandler App1
</Location>

<Location /app2>
SetHandler modperl
PerlResponseHandler App2
</Location>

Apache 将整个 Catalyst 应用拉入内存,然后将其视为处理程序。唯一的缺点是它会占用内存,内存中有多个这样的应用程序。好处是速度,mod_perl 将共享两者所需的模块。

如果您遇到同样的问题,希望这对您有所帮助。此外,Apache/mod_perl 和您的 Catalyst 应用程序必须在相同版本的 Perl 下编译,否则您将收到“ undefined symbol ”错误。

关于apache - 通过 Apache 运行多个 Catalyst 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874736/

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