如何在Ubuntu 16.04中自动重启Mongodb

15

我不知道如何在Ubuntu 16.04上自动重启mongodb,以防它因内存压力而崩溃。

我正在使用supervisord来运行其他脚本等,但mongod是通过systemctl运行的,我不确定它与此有何关联。

2个回答

34

已经想到了解决方法:

  1. 编辑你的mongod服务:sudo vim /lib/systemd/system/mongod.service
  2. service下添加Restart=always
  3. 重新加载systemctl守护程序:sudo systemctl daemon-reload

现在,无论何时mongod被终止。systemctl都会让它重新启动。


但是当Mongo更新时,apt更新服务文件时,您如何保持此持久性? - Climax
如果您在 AWS 上,则可以从 S3 或其他地方下载它。 - Lovey
3
不要将其添加到文件“/lib/systemd/system/mongod.service”中,而是在“/etc/systemd/system/mongod.service.d/always_restart.conf”中创建一个新文件(如果需要,还要创建文件夹结构)。然后加入一行“[Service]”,在其后添加答案中提到的“Restart=always”。运行第三步即可,这样即使apt更新服务文件,也会持续生效。 - Ashish

3
当你安装mongoDB后,只需在终端上运行systemctl enable mongod.service即可。
这将使你的mongoDB服务在每次重启时自动启动。

5
如果 MongoDB 只是崩溃了,这个方法也适用吗?我认为 systemctl enable 仅适用于在重新启动时运行服务 - 而不是当服务因任何原因崩溃时。 - Dev Sanghani
@DevSanghani 不,这不起作用,你是正确的。 enable 只会让 systemd 在启动时启动服务。这个答案是无效的。 - user3089519

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