如何在同一个 nginx 服务器上 运行 多个 perl Dancer2 应用程序
How to run multiple perl Dancer2 apps in same nginx server
我认为我可以使用 nginx
中的位置管理多个应用程序。
但似乎我不能 运行 多个 dancer2
应用程序在同一服务器上使用不同的端口 (比如 localhost:3000,localhost:4000)。
无论如何,我把它放在这里是希望专家们能给我一些启发。
当您有多个 Dancer2 应用程序时,您可以使用 Plack::App::URLMap or the wrapper syntax for it available in Plack::Builder:
将它们组合在一起
use MyApp::Main;
use MyApp::Admin;
builder {
mount '/' => MyApp::Main->to_app;
mount '/admin' => MyApp::Admin->to_app;
};
安装的效果是这些应用程序将完全独立并且Plack::Builder将确保只有适当的应用程序处理给定的请求。
But it seems like I cannot run multiple dancer2
apps in same server with different ports (like localhost:3000, localhost:4000).
这不是真的。 Dancer(显然还有 Dancer2)应用程序对它们正在监听的端口一无所知。这全部由您的部署环境处理。例如,如果您有两个名为 app1.psgi
和 app2.psgi
的 Dancer 应用程序,并且您使用 plackup
启动它们,那么您可以使用 运行 在不同的端口上获取它们 -p
命令行选项。
$ plackup -p 3000 app1.psgi
$ plackup -p 4000 app2.psgi
我认为我可以使用 nginx
中的位置管理多个应用程序。
但似乎我不能 运行 多个 dancer2
应用程序在同一服务器上使用不同的端口 (比如 localhost:3000,localhost:4000)。
无论如何,我把它放在这里是希望专家们能给我一些启发。
当您有多个 Dancer2 应用程序时,您可以使用 Plack::App::URLMap or the wrapper syntax for it available in Plack::Builder:
将它们组合在一起use MyApp::Main;
use MyApp::Admin;
builder {
mount '/' => MyApp::Main->to_app;
mount '/admin' => MyApp::Admin->to_app;
};
安装的效果是这些应用程序将完全独立并且Plack::Builder将确保只有适当的应用程序处理给定的请求。
But it seems like I cannot run multiple
dancer2
apps in same server with different ports (like localhost:3000, localhost:4000).
这不是真的。 Dancer(显然还有 Dancer2)应用程序对它们正在监听的端口一无所知。这全部由您的部署环境处理。例如,如果您有两个名为 app1.psgi
和 app2.psgi
的 Dancer 应用程序,并且您使用 plackup
启动它们,那么您可以使用 运行 在不同的端口上获取它们 -p
命令行选项。
$ plackup -p 3000 app1.psgi
$ plackup -p 4000 app2.psgi