在运行`mongod`时尝试访问`http://127.0.0.1:27017 /`+多个错误时出错

时间:2015-09-10 20:15:33

标签: mongodb sockets localhost

当我尝试通过mongod访问http://127.0.0.1:27017/时,出现此错误:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

此外,当我尝试运行mongod时,我收到了以下错误:

Space-O-Mac-Pro:~ cyberspacer$ mongod
2015-09-10T22:12:36.741+0200 E NETWORK  [initandlisten] listen(): bind() failed errno:48 Address already in use for socket: 0.0.0.0:27017
2015-09-10T22:12:36.741+0200 E NETWORK  [initandlisten]   addr already in use
2015-09-10T22:12:36.770+0200 W -        [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2015-09-10T22:12:36.816+0200 I STORAGE  [initandlisten] exception in initAndListen: 98 Unable to lock file: /data/db/mongod.lock errno:35 Resource temporarily unavailable. Is a mongod instance already running?, terminating
2015-09-10T22:12:36.816+0200 I CONTROL  [initandlisten] dbexit:  rc: 100
Space-O-Mac-Pro:~ cyberspacer$ 

如何解决这些错误?我是否必须更改mongod正在侦听的网址0.0.0.0:27017,以修复此错误:[initandlisten] listen(): bind() failed errno:48 Address already in use for socket: 0.0.0.0:27017

2 个答案:

答案 0 :(得分:2)

mongod端口不能通过http访问。这非常类似于尝试使用邮件客户端浏览网页。

您应该通过mongo shell或客户端驱动程序访问MongoDB。

至于你的另一个问题:似乎已经有一个mongod实例正在运行。要重新启动mongod,请执行以下操作

sudo killall mongod && mongod

答案 1 :(得分:0)

当您在浏览器上尝试localhost:27017时,它会做出什么响应?

因为你得到的就像端口已被其他进程使用!!

您可以使用--port选项强制Mongo使用另一个端口,问题将得到解决....

如果你想使用默认端口(27017),你应该找出使用这个端口的进程并将其终止(也许你已经在背景上运行了一个mongo)......

希望这有帮助!