如何在系统启动时启动 MongoDB 服务器?

101 mongodb

每次系统重新启动时,我都必须启动我的 MongoDB 服务器。如何配置它以从我的操作系统开始?我在 Ubuntu 11.04 上。

小智 163

根据评论,在 Ubuntu 18.04 LTS 上,这似乎是解决方案:

systemctl enable mongodb.service
Run Code Online (Sandbox Code Playgroud)

感谢@Adam。我在 Debian jessie 上遇到了同样的“问题”,我的解决方案是:

systemctl enable mongod.service
Run Code Online (Sandbox Code Playgroud)

也许他们更改了服务的名称。我认为在 Ubuntu 中也是一样的。

  • 在“Ubuntu Mate 16.04.2 LTS”上为我工作 (11认同)
  • 可能需要`(sudo) systemctl start mongod`来启动mongod服务 (4认同)
  • 可惜官方文档中没有关于启动服务的信息。 (2认同)
  • 也适用于 ubuntu 18.04 LTS (2认同)
  • 仅当我在 Ubuntu 18.04 LTS 上将 `mongod.service` 更改为 `mongodb.service` 时才对我有效 - 奇怪? (2认同)

小智 39

如果您使用高级打包工具 (apt) 安装 MongoDB,那么它将配置您的启动脚本以在系统启动时自动运行 Mongo。

步骤如下,首先配置apt可以下载Mongo包:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo nano /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

将此行添加到sources.list然后保存:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
Run Code Online (Sandbox Code Playgroud)

然后使用apt-get实用程序下载并安装 Mongo :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mongodb-10gen
Run Code Online (Sandbox Code Playgroud)

如果要对配置进行任何更改,请编辑mongodb.conf并重新启动: 

sudo nano /etc/mongodb.conf
sudo service mongod restart
Run Code Online (Sandbox Code Playgroud)

  • 如果您想稍后将其更改为 ** 不** 在启动时自动启动 MongoDB,请编辑 `/etc/init/mongodb.conf`。 (5认同)

小智 12

应该使用 update-rc.d 工具来控制所有 init.d 服务链接

即在默认运行级别中打开 mongod 守护进程(即在启动时打开它):

update-rc.d mongodb defaults
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅https://help.ubuntu.com/community/UbuntuBootupHowto。此链接告诉您有关如何在启动时设置程序的所有信息。

  • 10gen MongoDB 发行版没有使用 System-V 风格的 init 脚本,你需要编辑 `/etc/init/mongodb.conf`。 (2认同)

小智 7

我正在为 Ubuntu 使用 crontab。它工作正常。能够编辑文件

Sudo crontab –e 
Run Code Online (Sandbox Code Playgroud)

将此行添加到文件中

@reboot sudo service mongod start &
Run Code Online (Sandbox Code Playgroud)

最后的“&”叹号帮助它成为工作背景。

Ctrl+x要退出,一旦出现提示,请按“Y”。并将文件名保留为“crontab”。


kyn*_*nan 6

如果您已经安装了MongoDB 社区版(这是推荐的方式,因为它比 Ubuntu 软件包存储库中分发的软件包接收更频繁的更新)您通过upstart init 脚本配置启动/停止行为mongod,默认启动守护程序开机自动 /etc/init/mongod.conf

start on runlevel [2345]
stop on runlevel [06]
Run Code Online (Sandbox Code Playgroud)

如果您希望它自动启动,请将这两行替换为

stop on runlevel [023456]
Run Code Online (Sandbox Code Playgroud)


小智 6

如果你有Ubuntu的LTS 16.04,则可以启用蒙戈在启动时自动在控制台输入这样的:
sudo systemctl enable mongod
我已经使用MongoDB的与社区版3.6这种方法和它的作品。重新启动您的机器并测试 mongo 是否正在运行,输入:
sudo service mongod status


小智 2

chkconfig --levels 235 mongod on

其中 mongodb 是您的服务的名称

  • 默认情况下,10gen MongoDB 发行版不使用 System-V 样式的初始化脚本(尽管提供了一个),而是编辑 `/etc/init/mongodb.conf`。 (2认同)

小智 2

如果您按照MongoDB Ubuntu 安装指南 中的apt-get描述安装 MongoDB ,它将附带一个基本的启动脚本和配置文件。(强烈建议使用配置文件)

您还可以在此处查看链接到脚本的旧帖子init.d

无论哪种情况,基本前提是您要设置服务,然后配置计算机的启动/停止。这对于服务器来说是非常常见的技术,有很多教程可以做到这一点。

  • 16.04 不再是这种情况 (2认同)