如何在同一个nginx服务器上运行多个perl Dancer2应用程序

时间:2017-12-05 11:22:19

标签: perl nginx dancer

我认为我可以使用for(row=0;row<5;row++) { for(col=0;col < row+1; col++) { ctx.fillStyle = "orange"; ctx.fillRect(x + col * 60 ,y + row * 57,rw,rh); } } 中的位置管理多个应用。

但似乎我无法在具有不同端口的同一服务器中运行多个nginx应用程序(如localhost:3000,localhost:4000)

无论如何,我把它放在这里,希望专家可以向我展示一些亮点。

2 个答案:

答案 0 :(得分:4)

如果您有多个Dancer2应用程序,可以使用Plack::App::URLMapPlack::Builder中提供的包装语法将它们组合在一起:

use MyApp::Main;
use MyApp::Admin;

builder {
    mount '/'      => MyApp::Main->to_app;
    mount '/admin' => MyApp::Admin->to_app;
};

安装的效果是这些应用程序将完全分开,Plack::Builder将确保只有适当的应用程序才能处理给定的请求。

来源:http://advent.perldancer.org/2014/9

答案 1 :(得分:1)

  

但似乎我无法在具有不同端口的同一服务器中运行多个dancer2应用程序(如localhost:3000,localhost:4000)

这不是真的。 Dancer(显然,Dancer2)应用程序对他们正在收听的端口一无所知。这一切都由您的部署环境处理。例如,如果您有两个名为app1.psgiapp2.psgi的舞者应用,并且您使用plackup启动它们,那么您可以使用-p让它们在不同的端口上运行命令行选项。

$ plackup -p 3000 app1.psgi
$ plackup -p 4000 app2.psgi