意外的MongoDB退出代码48 - 在Meteor中重新启动

4

我无法使用meteor命令启动我的Meteor应用程序。我尝试过几乎所有的Meteor重置操作,但都徒劳无功,但我已经成功在不同的端口上运行了Meteor项目,但我的mongodb实例必须正在工作中。

我尝试运行Meteor:

Unexpected mongo exit code 48. Restarting.    
Unexpected mongo exit code 48. Restarting.    
Unexpected mongo exit code 48. Restarting.    
Can't start Mongo server.                     
MongoDB exited because its port was closed, or was already
taken by a previous instance of MongoDB

Check for other processes listening on port 3001
or other Meteor instances running in the same project.

请问您能否检查一下进程 mongod 是否正在运行? - Matthias A. Eckhart
你的意思是运行在Meteor上的Mongod实例吗?这个出了问题,但是如果你单独运行Mongo服务,它可以正常工作……即使你运行meteor --port 3020,它也可以正常工作……但我不知道为什么默认的Meteor命令不能工作......感谢您的时间。 - goldsoft25
3个回答

4

您只需要重置数据库即可。

meteor reset

或者
 meteor -p 3006

希望这对你有用, 祝好。

但是,当我更改端口号时,例如meteor --port 3010......它可以完美运行....是我的mongo存储受到影响还是其他问题...请帮忙纠正此问题,因为我无法运行任何连接到mongodb的基于nodejs的应用程序。 - goldsoft25
实际上,你的Mongo实例正在运行你试图运行的那个端口。 - Ali Hassan Mirza
meteor -p 3005 你需要更改端口才能运行Meteor服务器。 - Ali Hassan Mirza
谢谢,我已经做到了,而且完美地运行了。但是我担心默认的Mongo进程应用程序会影响所有使用connect-mongo连接到MongoDB数据库的Node.js项目...看来我只是忽略了这个问题。 - goldsoft25

4

在不同的端口上启动meteor是一个快速简便的解决方法。在我的情况下,我没有指定任何应用程序在3001端口上运行,因此通过这个命令,我了解到问题出在哪里:

sudo lsof -i :3001
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
.ruby.bin 2529 daemon   12u  IPv4  22408      0t0  TCP localhost:3001 (LISTEN)

如果你想的话,可以直接关闭 Ruby 服务器,或者将 Meteor 应用程序在新端口上运行。


哦,谢谢大家。我忘记表示感激了。 - goldsoft25
1
@ goldsoft25 当你感谢一个答案时,请将其标记为被接受的答案和/或点赞。这有利于所有人。 - Stéphane Gourichon
@goldsoft25 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work - KhoPhi

0
在我的情况下,我试图在一台计算机上运行两个Meteor应用程序。一个在端口3000上,另一个在端口3001上。
Meteor保留端口(在这种情况下为3000)和端口+1(因此,端口3001也是如此),如此处所述。
因此,我改为使用端口3010(meteor --port 3010),这解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接