如何使用非默认dbpath运行mongo db作为服务?

eas*_*der 7 ubuntu mongodb

当我尝试启动服务时,我得到了

~$ sudo service mongodb start
mongodb start/running, process 20221
Run Code Online (Sandbox Code Playgroud)

但它并没有真正开始〜$ sudo服务mongodb状态mongodb停止/等待

这可能是因为我的dbpath不是默认的,所以如何使用非默认的dbpath启动服务

Jus*_*ins 8

这与"服务"没有任何关系,它mongod取决于(MongoDB的进程名称)参数使用dbpath除了/data/db

要了解您可以使用哪些参数,您可以简单地运行...

$ mongod --help

并且你会得到一个有用的参数列表,还有大量的文档解释了你在启动mongod时可以使用的各种不同的参数......

http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo

http://www.mongodb.org/display/DOCS/Command+Line+Parameters

你问题上的文档有点......

启动mongod

默认数据目录,默认端口要在默认模式下启动Mongo,其中数据将存储在/ data/db目录中(或Windows上的c:\ data\db),并在端口27017上侦听,只需键入

$ ./mongod

备用数据目录,默认端口

要指定Mongo存储文件的目录,请使用--dbpath选项:

$ ./mongod --dbpath /var/lib/mongodb/

请注意,您必须提前创建目录并适当设置其权限 - 如果目录不存在,Mongo将不会创建该目录.

备用端口

您可以为Mongo指定一个不同的端口,以使用--port选项侦听来自客户端的连接

$ ./mongod --port 12345

如果要在计算机上运行多个Mongo实例(例如,用于运行主从对),这将非常有用.

作为守护进程运行

注意:这些选项仅在MongoDB 1.1及更高版本中可用.

这将分叉Mongo服务器并将其输出重定向到日志文件.与--dbpath一样,您必须自己创建日志路径,Mongo不会为您创建父目录.

$ ./mongod --fork --logpath /var/log/mongodb.log --logappend

  • 不仅复制粘贴文档帮助他,还需要进一步解释. (2认同)
  • 那么,问题与服务有关,所以这个答案有点偏离主题.Probaly建议调整/etc/mongodb.conf本来会更好. (2认同)

小智 5

您可以使用配置文件指定它.

我在这里找到了解释:http://blog.ajduke.in/2013/04/10/install-setup-and-start-mongodb-on-windows/

使用配置文件

而不是指定命令行选项,我们可以使用文件指定相同,我在这里称之为配置文件配置文件只是普通文件,包含key = value形式的参数,每个都在文件的每一行上这个,我们基本上提供文件路径(包含配置)作为命令行选项为"-f"或"-config"以下是配置文件的片段

shell > mongod --config I:\Servers\mongodb\config\mongodb.conf
Run Code Online (Sandbox Code Playgroud)

你得到一个文件,你可以在其中指定dbpath:

#This是MongoDB的示例配置文件
#basic
dbpath = I:\ Servers\mongodb\data
port = 27017
logpath = I:\ Servers\mongodb\logs\mongo.log