首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署多个mojolicious应用实例

部署多个mojolicious应用实例
EN

Stack Overflow用户
提问于 2013-07-06 12:51:23
回答 1查看 688关注 0票数 3

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

代码语言:javascript
复制
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 loadbalancer会是个好主意吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-07 01:15:00

我也不是一个部署人员,但我可以说的是:在这一点上,您的部署堆栈似乎更多的是限制而不是帮助。当在Mojolicious自己的服务器(daemon,morbo,hypnotoad)下运行时,他们已经使用了一个高性能的事件循环,而使用plack服务器会丢失这个循环。此外,在windows下,您不能使用hypnotoad,它会预先派生工作进程以允许更多负载。

如果可能的话,我建议你通读一遍deployment section of the cookbook,然后使用nginx和hypnotoad在linux服务器上部署。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17499763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档