我正在使用dokku部署节点应用程序(带快递js).我的应用程序包含2个快速js应用程序,可以收听两个不同的端口.一个是主应用程序,另一个是kue的web接口 – 节点js的简单作业队列.
当我部署应用程序时,我需要运行这两个应用程序并访问端口80上的主应用程序和其他端口上的kue(最好是快速应用程序侦听的端口).
我已将这两个应用程序放在Procfile上,如:
web: server=thats-wow NODE_ENV=production node server/app.js
worker: node server/kueUi.js
proc文件的多个进程由dokku-supervisord插件处理:https://github.com/statianzo/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)
找不到任何关于如何实现这一目标的文档.任何帮助深表感谢!
最佳答案
这可以通过使用https://github.com/statianzo/dokku-shoreman或https://github.com/statianzo/dokku-supervisord一起入侵,但您需要手动确保dokku主机上没有端口冲突.
当https://github.com/progrium/dokku/issues/732解决后,您将能够将第二个应用程序部署为将侦听由docker分配的端口的工作程序.