启动mongod作为服务和将其作为普通可执行文件启动有什么区别?

时间:2017-04-26 15:28:14

标签: mongodb ubuntu

官方MongoDB documentation说:

  

发出以下命令启动mongod:

     

sudo service mongod start

然而,信誉良好的MongoDB: The Definitive Guide, 2nd Edition在第11页上说:

  

要启动服务器,请运行mongod可执行文件:

     

$ mongod

在我的 Ubuntu 16.04 系统上,第一个运行正常,第二个运行后我创建/data/db目录并更改其权限或运行sudo mongod。< / p>

我想知道,你什么时候应该使用哪种方式?除了第二种方式抓住终端的微小差异。

sudo service mongod start

VS

mongod

我试图查找service命令的作用,但documentation对我来说太先进了。

1 个答案:

答案 0 :(得分:3)

将MongoDB作为服务运行与从命令行启动mongod进程相比,有很多优点。当我在笔记本电脑上本地运行时,我通常更喜欢从命令行启动mongod,但是对于开发,生产,生产等实际服务器的任何部署,我总是建议将其作为服务运行。< / p>

以下是一些原因:

  • 正确安装即服务可确保服务器重新启动时是否/何时自动重启mongod进程
  • mongod服务配置通常会确保将一些推荐的操作系统级别设置应用于mongod进程。设置的内容将根据操作系统和版本而有所不同,但这将包括正确的ulimit设置
  • 作为服务运行意味着您始终使用配置文件而不是传递命令行参数。
  • 一致性,标准化,易于使用的安装位置,mongod的启动方式,升级方式等。

还值得注意的是,您仍然可以从命令行启动mongod并使用配置文件,如果指定“fork”选项,它将不会“抓住”您的终端。