我是网络开发的新手,我想开始使用一些RoR(使用机车CMS)。
机车要求的一件事就是拥有Mongodb。我按照此链接http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
使用自制软件安装它安装得很好,但我无法运行它!
当我在终端上键入“mongo”时,我得到以下输出:
"MongoDB shell version: 2.4.3
connecting to: test
Mon May 6 11:12:28.927
JavaScript execution failed:
Error: couldn't connect to server
127.0.0.1:27017 at src/mongo/shell/mongo.js:L112
exception: connect failed"
帮助调试的背景(在终端上):
1.当我输入mongod时,我得到以下内容:
"all output going to: /usr/local/var/log/mongodb/mongo.log"
mongo.log的所有权:
-rw-r--r-- 1 username admin 22133 May 6 11:13 mongo.log
2.当我输入mongod --fork时,我得到以下内容:
about to fork child process, waiting until server is ready for connections.
forked process: 77566
all output going to: /usr/local/var/log/mongodb/mongo.log
ERROR: child process failed, exited with error number 100
3.Typing mongod --help给出以下警告:
* WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
4.我在根目录中有一个名为data的文件夹(作为fromodb数据库,它应该在哪里?)(PATH:/ data)数据文件夹的所有权:
"drwxr-xr-x 3 username wheel 102 Apr 23 21:38 data"
5.检查端口是否空闲:lsof -i:27017。我还尝试使用活动监视器检查正在运行的mongo进程并找到了zilch!
No output
6.我也尝试过:mongo --repair。 Dint help!
我已经坚持了一段时间,我已经查看了stackoverflow上的大多数响应并搜索了一下这个解决方案但到目前为止没有任何帮助!
更新:
当我尝试启动mongo shell时,我得到了以下l 来自mongo.log的日志消息:
5/6/13 1:33:27.616 PM com.apple.launchd:
(org.mongodb.mongod[79133])
open("/private/var/log/mongodb/output.log", ...): Permission denied
所以我为特定的文件夹做了一个chmod777,shell启动了!
虽然我在发布时仍然会收到警告:
Server has startup warnings:
Mon May 6 13:33:27.693 [initandlisten]
Mon May 6 13:33:27.693 [initandlisten]
** WARNING: soft rlimits too low.
Number of files is 256, should be at least 1000
知道如何让这些警告沉默吗?
答案 0 :(得分:2)
要获取确定失败原因所需的信息,您需要在/usr/local/var/log/mongodb/mongo.log
尝试启动时查看(并为我们发布)输出。
然而,失败的最常见原因是缺少默认数据库路径 - /data/db
。创建该文件夹(并且不要忘记确保您的用户具有读/写权限)或使用--dbpath
选项指定其他路径。
更新:正如您发现的那样,对日志文件的错误权限可能会导致问题,与数据路径上的错误权限类似。
就警告而言,您需要的信息如下:
这只是一个警告 - 你可以运行MongoDB而不会遇到这些限制的问题,只要它没有负载很重。所以,如果这是一个开发环境,除非你计划进行负载测试,否则你应该没问题