Nginx Dokku:从一个应用程序监听多个端口
我正在使用dokku部署一个节点应用程序(使用express js)。我的应用程序由2个可监听两个不同端口的express js应用程序组成。一个是主应用程序,另一个是用于kue的web接口-一个用于node js的简单作业队列。 部署应用程序时,我需要运行这两个应用程序,并在端口80上访问主应用程序,在其他端口(最好是express应用程序侦听的端口)上访问kue应用程序 我已将这两个应用程序放在Procfile上,如下所示:Nginx Dokku:从一个应用程序监听多个端口,nginx,docker,dokku,Nginx,Docker,Dokku,我正在使用dokku部署一个节点应用程序(使用express js)。我的应用程序由2个可监听两个不同端口的express js应用程序组成。一个是主应用程序,另一个是用于kue的web接口-一个用于node js的简单作业队列。 部署应用程序时,我需要运行这两个应用程序,并在端口80上访问主应用程序,在其他端口(最好是express应用程序侦听的端口)上访问kue应用程序 我已将这两个应用程序放在Procfile上,如下所示: web: server=thats-wow NODE_ENV=pr
web: server=thats-wow NODE_ENV=production node server/app.js
worker: node server/kueUi.js
procfile上的多个进程由dokku supervisord插件处理:(它支持所有进程类型:web、worker等)
对于第二个应用程序的进程类型,我尝试了“web”和“worker”
问题
部署时,Dokku只需通过端口80访问procfile中指定的最后一个应用程序(本例中为kueUi),似乎无法访问首先指定的应用程序。
我试着通过第一个应用程序监听的端口访问,但这不起作用
我想它需要一些nginx配置来将某个端口上的请求转发到应用程序侦听的docker容器中的该端口
我多么需要它
1. http://example.com - reaches my main app
2. http://example.com:5000 - reaches the second app (Kue UI)
找不到有关如何实现此目标的任何文档。非常感谢您的帮助 我不确定我是否误解了这个问题,但找出这两个应用程序的端点可能会有所帮助?是这样做的:
dokku url [App #1]
dokku url [App #2]
如果您正在运行nginx,您可能需要查看
/opt/nginx/conf/nginx.conf
这可以通过使用或进行黑客攻击,但您需要手动确保dokku主机上没有端口冲突
解决问题后,您将能够将第二个应用程序部署为worker,该应用程序将侦听docker分配的端口。您找到解决方法了吗?尚未尝试,但: