我的Ubuntu服务器(Digital Ocean)上运行了一个Meteor应用程序。我使用Meteor Up(MUP)来部署并保持应用程序运行。一切正常。
但是,当我尝试在同一台服务器上部署第二个应用程序时,连接到MongoDB会出错。我收到一条长而不可读的错误消息,该消息开始“调用部署过程:失败”,然后以
结束Waiting for MongoDB to initialize. (5 minutes)
connected
myapp start/running, process 25053
Waiting for 15 seconds while app is booting up
Checking is app booted or not?
myapp stop/waiting
myapp start/running, process 25114
该应用拒绝运行。我已经尝试了很多方法来解决这个问题,如果要求更多信息,我会编辑这篇文章,但我不确定它是什么相关的。基本上我不理解错误信息,所以我需要知道到底发生了什么?
编辑: 我想补充说,如果我进入项目文件夹并使用“meteor”命令,我的应用程序运行正常。一切都按预期运行。只有当我尝试使用MUP将其部署到长期生产模式时,我才会收到此错误。
编辑: 我继续尝试mupx而不是mup。这次我甚至无法通过安装过程,我收到以下错误消息:
[Neal] x Installing MongoDB: FAILED
-----------------------------------STDERR-----------------------------------
Error response from daemon: no such id: mongodb
Error: failed to remove containers: [mongodb]
Error response from daemon: Cannot start container c2c538d34c15103d1d07bcc60b56a54bd3d23e50ae7a8e4f9f7831df0d77dc56: failed to create endpoint mongodb on network bridge: Error starting userland proxy: listen tcp 127.0.0.1:27017: bind: address already in use
但我不明白为什么! Mongod显然已在端口27017上运行,第二个应用程序应该只为该实例添加一个新数据库,对吗?我不知道我在这里缺少什么,为什么MUP无法访问MongoDB。
答案 0 :(得分:1)
如果没有mup.json
看这里发生了什么,这很棘手。根据你的说法,看起来你的第二个应用程序部署试图覆盖/引导mongodb超过锁定的第一个,mongodb环境无法启动,导致失败。你应该采取不同的方式:
mup.jon
的MONGO_URL。它通常位于2701X
端口。由于它是共享数据库,因此一个数据库中的更改可能会影响另一个数据库。mongod --port 2701X --dbpath /your/dbpath --fork --logpath /log/path
,然后在那里指向MONGO_URL
。mupx
引擎盖docker
。使用mupx进行部署时,应将两个应用程序隔离开来。