当前位置: 首页>>技术教程>>正文


无法连接到服务器127.0.0.1 shell/mongo.js

, ,

问题描述

当我在ubuntu中安装mongodb时,我尝试:./mongo显示此错误:

 couldn't connect to server 127.0.0.1 shell/mongo.js

那我该怎么办,

谢谢

最佳解决方法

  • 手动删除锁定文件:sudo rm /var/lib/mongodb/mongod.lock

  • 运行修复脚本:sudo -u mongodb mongod -f /etc/mongodb.conf --repair

请注意以下事项:

  • 您必须以mongodb用户身份运行此命令。如果您以root身份运行,则root将在/var /lib /mongodb /中拥有运行mongodb守护程序所必需的文件,因此,当该守护程序尝试以mongodb用户身份稍后运行时,它将没有启动权限。 。在这种情况下,您会收到以下错误消息:无法为lockfilepath创建/打开锁定文件:/var/lib/mongodb/mongod.lock errno:13权限被拒绝,正在终止。

  • 在Ubuntu上,必须使用-f标志指定配置文件/etc/mongodb.conf。否则,它将在错误的位置查找数据文件,并且您将看到以下错误:dbpath(/data /db /)不存在,正在终止。

次佳解决方法

sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

有时,执行这些操作后,有时需要花费一些时间才能启动mongo。

第三种解决方法

尝试运行$ mongod

如果出现en错误,例如

MongoDB shell version: 2.0.5
connecting to: test
Fri Jun  1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun  1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun  1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun  1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun  1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun  1 11:24:47 [initandlisten] options: {}
Fri Jun  1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun  1 11:24:47 dbexit: 
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun  1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun  1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun  1 11:24:47 dbexit: really exiting now

然后,您遇到了一个非常常见的基本启动错误。

默认情况下,mongod将尝试使用/data /db作为其数据库文件,在这种情况下,该文件不存在。

你不能开始

mongo 

直到你处理

mongod.

尝试创建这些目录,并确保它们可由运行mongod进程的同一用户写入。

**看到类似的问题-Getting an error, “Error: couldn’t connect to server 127.0.0.1 shell/mongo.js” & when trying to run mongodb on mac osx lion

第四种方法

这实际上不是一个错误。。。这里发生的是Mongo依靠守护程序来运行本地数据库服务器,因此为了”fire up”您 shell 中的mongo服务器,您必须首先启动mongo服务。

对于Fedora Linux(我使用的是Distro),您必须运行以下命令:

1 sudo service mongod start
2 mongo

在那里,您拥有了!服务器将要运行。现在,如果您希望在系统启动时启动Mongo服务,则必须运行:

sudo chkconfig --levels 235 mongod on

就这样!如果这样做,现在只需在 shell 程序中键入mongo即可启动服务器,但这已经足够了,问题在于您必须先启动SERVICE,然后再启动SERVER 🙂

附言我发布的命令可能也可以在其他linux发行版上使用,而不仅仅是在fedora中…如果不是,您可能不必根据所使用的发行版来调整一些单词;)

第五种方法

尝试安装mongo时遇到相同的问题。我有错误,

错误

"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"

解:

首先使用以下命令安装mongod:

sudo apt-get install mongodb-server

然后输入

mongod --dbpath /mongo/db

然后

sudo rm /var/lib/mongodb/mongod.lock

然后

sudo -u mongodb mongod -f /etc/mongodb.conf  --repair

谢谢

第六种方法

您需要删除ubuntu上的锁定文件mongod.lock/var/lib/mongodb/mongod.lock,然后首先需要在ubuntu上运行mongod.exeservice mongodb start,然后在on上运行mongo.exemongo

第七种方法

您的mongod不在运行(使用”ps”命令检查),或者正在侦听某个外部IP地址,而不是在本地主机上侦听。因此,首先检查进程列表,看看’mongod’是否正在运行。如果是,请使用“ netstat -nap”检查相关端口。

当然,您可以在控制台上手动启动mongod,甚至查看mongod日志文件(如果已配置一个…取决于您安装mongod的方式)。

第八种方法

首先,您必须确保/var /lib /mongodb /文件夹(或dbpath指向的文件夹)中的所有文件和目录都属于mongodb用户和mongodb组。

cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory

(用各自的名称替换文件名和目录)

然后,您可以像其他人已经提到的那样,删除锁,修复数据库并重新启动守护程序:

sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

第九种方法

首先通过以下方式启动mongo服务器

Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log

然后打开另一个终端窗口并打开 shell

Users-MacBook-Pro:csv1 Admin$ mongo

第十种方法

还要检查您的根分区是否有足够的空间来启动mongod。

df -h /

您会在mongod发布时看到类似的内容:

Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit: 
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7490.html,未经允许,请勿转载。