Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx Dokku:从一个应用程序监听多个端口_Nginx_Docker_Dokku - Fatal编程技术网

Nginx Dokku:从一个应用程序监听多个端口

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

我正在使用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插件处理:(它支持所有进程类型: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分配的端口。

您找到解决方法了吗?尚未尝试,但: