我正在用 dokku 部署一个节点应用程序(使用 express js)。我的应用程序由 2 个 express js 应用程序组成,它们侦听两个不同的端口。一个是主应用程序,另一个是kue的 Web 接口- 一个简单的 node js 作业队列。当我部署应用程序时,我需要运行这两个应用程序并在端口 80 上访问主应用程序,并在其他端口(最好是 express 应用程序侦听的端口)上访问 kue 应用程序。
我已将这两个应用程序都放在 Procfile 上,例如:
web: server=thats-wow NODE_ENV=production node server/app.js
worker: node server/kueUi.js
procfile 上的多个进程由 dokku-supervisord 插件处理:https ://github.com/statianzo/dokku-supervisord (它支持所有进程类型:web、worker 等)。
我已经为第二个应用程序的进程类型尝试了“web”和“worker”。
问题
在部署时,Dokku 只是使 procfile 中指定的最后一个应用程序(在本例中为 kueUi)可通过端口 80 访问,并且似乎无法访问第一个指定的应用程序。我尝试通过第一个应用程序侦听的端口访问,但这不起作用。
我想它需要一些 nginx 配置才能将某个端口上的请求转发到应用程序侦听的 docker 容器中的那个端口。
我需要它如何
1. http://example.com - reaches my main app
2. http://example.com:5000 - reaches the second app (Kue UI)
找不到有关如何实现此目的的任何文档。任何帮助深表感谢!