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

时间:2012-05-29 19:54:25

标签: mongodb ubuntu

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

~$ sudo service mongodb start
mongodb start/running, process 20221

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

这可能是因为我的dbpath不是默认的 那么如何使用非默认的dbpath

启动m服务

2 个答案:

答案 0 :(得分: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目录中(或c:\ data \ db on)   Windows),并侦听端口27017,只需键入

     

$ ./mongod

     

备用数据目录,默认端口

     

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

     

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

     

请注意,您必须创建目录并设置其权限   适当提前 - Mongo不会创建目录if   它不存在。

     

替代端口

     

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

     

$ ./mongod --port 12345

     

如果您想在a上运行多个Mongo实例,这非常有用   机器(例如,用于运行主从对)。

     

作为守护程序运行

     

注意:这些选项仅适用于MongoDB 1.1版和   后来。

     

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

     

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

答案 1 :(得分:5)

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

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

  

使用配置文件

     

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

shell > mongod --config I:\Servers\mongodb\config\mongodb.conf

您将获得一个文件,您可以在其中指定dbpath:

  

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