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

3
官方MongoDB文档中提到:

使用以下命令启动mongod:

sudo service mongod start

然而,权威的MongoDB:权威指南,第2版在第11页上说:

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

$ mongod

在我的Ubuntu 16.04系统上,第一种方法可以正常运行,而第二种方法需要创建/data/db目录并更改其权限或使用sudo mongod命令才能运行。

我想知道,在什么情况下应该使用哪种方式?除了第二种方式占用控制台之外还有什么区别吗?

sudo service mongod start

vs

mongod

我试图查找service命令的作用,但文档对我来说太高级了。

1个回答

5
使用MongoDB作为服务与仅从命令行启动mongod进程相比有许多优点。当我在本地电脑上运行时,我通常喜欢从命令行开始mongod,但对于任何实际服务器的部署(如开发、测试、生产等),我始终建议将其作为服务运行。
以下是一些原因:
- 正确安装为服务可确保在服务器重新启动时自动重新启动mongod进程。 - mongod服务配置通常会确保应用某些推荐的操作系统级别设置到mongod进程中。设置的内容因操作系统和版本而异,但这将包括正确的ulimit设置等。 - 作为服务运行意味着您始终使用配置文件而不是传递命令行参数。 - 在安装位置、mongod的启动方式、升级方式等方面保持一致、标准化和易于使用。
值得注意的是,您仍然可以从命令行开始mongod并使用配置文件,如果指定“fork”选项,则它不会“占用”您的终端。

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