gpt4 book ai didi

perl - 部署多个 mojolicious 应用实例

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

我在 Windows XP、strawberry perl 5.14.2 和 Mojolicious 版本 3.84 上开发了一个 Mojolicious 应用程序。为了获得高性能,我想创建这个应用程序的多个实例,并在同一台计算机上监听不同的端口。为了实现这一点,我制作了我的程序的两个副本,并使用如下所示的 Plack::Middleware::Proxy::Loadbalancer 脚本:

use Plack::Builder;
use Plack::App::Proxy;

builder {
enable "Proxy::LoadBalancer", backends => ['http://l27.0.0.1:8080', 'http://127.0.0.1:8081'];
Plack::App::Proxy->new()->to_app;
};

我在 8080 和 8081 上启动实例,然后使用 plackup loadb.pl 命令启动负载均衡器。它在 localhost:5000 上听得很好。但奇怪的是,当你连接到端口 5000 时,只有 8081 出现,如果它切换到 8080,它会给出错误 Bad Gateway。我是部署方面的新手,所以在这里需要帮助。是什么导致 http 请求仅从 8081 返回?它似乎是网络层错误或其他什么?尝试使用 apache 负载均衡器会是个好主意吗?

最佳答案

我也不是部署人员,但我可以说的是:您的部署堆栈在这一点上似乎局限性大于帮助。当在 Mojolicious 自己的服务器(daemon、morbo、hypnotoad)之一下运行时,他们已经在使用高性能的事件循环,而使用 plack 服务器会失去它。同样在 Windows 下,您不能使用 hypnotoad,它会预先分配工作进程以允许更多负载。

我建议您通读 deployment section of the cookbook然后在可能的情况下在某处的 Linux 服务器上使用 nginx 和 hypnotoad 进行部署。

关于perl - 部署多个 mojolicious 应用实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17499763/

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