2017-04-26 189 views
3

官方MongoDB documentation说:将mongod作为服务启动并将其作为普通可执行文件启动的区别是什么?

发出以下命令来启动的mongod:

须藤服务的mongod启动

然而,有信誉的MongoDB: The Definitive Guide, 2nd Edition说,第11页指出:

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

$ mongod的

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

我在想,你应该什么时候用哪种方式?除了第二种方式抓住终端的细微差别之外。

sudo service mongod start 

VS

mongod 

我试图寻找了service命令做什么,但documentation对我来说太先进。

回答

3

运行MongoDB作为服务与从命令行启动mongod进程相比,有很多优点。当我在我的笔记本电脑上本地运行时,我通常更喜欢从命令行启动mongod,但对于dev,qa,production等任何类型的实际服务器部署,我始终建议将它作为服务运行。

下面是一些原因:

  • 正确安装作为服务确保了如果/当所述服务器重新启动该mongod的过程将自动重启
  • 的mongod的服务配置将典型地确保一些建议的操作系统级别设置应用于mongod进程。设置的内容会根据操作系统和版本的不同而有所不同,但这将包括正确的ulimit设置
  • 作为服务运行意味着您始终使用配置文件而不是传递命令行参数。
  • 一致性,标准化,易用性在事物的安装,mongod的是如何开始的,它是如何升级的条件等

另外值得一提的是,你仍然可以通过命令行启动的mongod并使用一个配置文件,如果你指定“fork”选项,它将不会“抓住”你的终端。