什么是服务mongodb start和mongod之间的区别

时间:2014-01-24 09:59:22

标签: mongodb ubuntu

当我运行命令时:sudo service mongodb start mongodb服务使用默认数据目录启动。

当我运行命令时:mongod --dbpath data/db --fork --logpath data/log/mongodb.log

它使用给定的dbpath启动mongodb。有什么区别?

首先运行sudo service mongodb start然后运行mongod --dbpath data/db --fork --logpath data/log/mongodb.log

时实际发生了什么

我应该先使用sudo service mongodb stop停止服务吗?

这一切都在ubuntu 12.04

2 个答案:

答案 0 :(得分:1)

一个使用upstart而另一个不使用,而且upstart的好处是能够使用包含重启/停止/启动/等过程的全局脚本来对流程进行高级管理。

运行服务时mongos使用您在安装时创建的默认配置文件,而使用direct命令添加参数告诉mongod它具有自定义dbpath--forklogPath

答案 1 :(得分:0)

mongodb带有默认配置的 mongod.conf (/ etc / mongod.conf)文件。当我们使用 service mongodb start 启动mongodb服务器时,它从mongod.conf获取默认参数并启动服务,当你使用mongod.sh启动它时不是这种情况它将从命令行获取参数。

另一个重要的事情是lates mongodb带有值为127.0.0.1的mongod.conf中的 bind_ip 参数,它将服务器绑定到localhost进行通信。因此mongo服务器不允许进行远程网络通信。但是如果我们使用mongod --dbpath启动服务器并且没有指定bind_ip param,它将启动与任何不推荐的网络的服务器通信。