service mongodb start和mongod有什么区别?

3
当我运行命令: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
如果你要点踩,至少请留下一条评论。 - Emre Kenci
2个回答

1
一种使用upstart,另一种则不使用。此外,upstart的好处在于可以使用包含重新启动/停止/启动等进程管理能力的全局脚本对进程进行高级管理。当运行服务时,mongos使用安装时创建的默认配置文件,而直接命令则添加了参数,告诉mongod它具有自定义的dbpath、--fork和logPath。

0

Mongodb自带默认配置文件mongod.conf(/etc/mongod.conf)。当我们使用service mongodb start启动mongodb服务器时,它会从mongod.conf中获取默认参数并启动服务。但是如果使用mongod.sh启动,则会从命令行获取参数。

还有一件重要的事情需要提到,最新版本的Mongodb在mongod.conf中增加了bind_ip参数,值为127.0.0.1,将服务器绑定到本地主机进行通信。因此,Mongo服务器不允许远程网络通信。但是,如果我们使用mongod --dbpath启动服务器,并且没有指定bind_ip参数,它将启动与任何网络的通信,这是不推荐的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接