在ubuntu 16.04 LTS上运行mongodb

在Ubuntu 16.04 LTS上如何运行Mongodb作为服务?
前几天我将服务器升级到Ubuntu 16.04。我注意到,当我重新启动时,我的MongoDB服务没有启动。
试图使用
sudo initctl start mongod

没有诀窍
任何人都有一个想法如何解决这个问题?

任何升级或安装Ubuntu 16.04(也称为Ubuntu Xenial xerus)的人都注意到一些旧服务停止运行。
这个问题从版本15.04已知,但我将专注于上述版本。

这是MongoDB的情况。为了做一个很长的故事,Ubuntu从upstart转移到systemd。对于这些问题,一个常见的解决方案是切换回启动。我不认为这个选择是一个真正的解决方案,当然不是长期的。

一个真正的解决方案(IMHO)的问题是编写将启动MongodDB的系统脚本。不幸的是,MongoDB的家伙还没有提供一个。

所以我从头开始写一个。要创建一个你自己的,请按照下列步骤操作:

>切换到root使用

sudo su

或者使用sudo进行以下所有步骤。

>创建一个服务脚本(在这个例子中,服务的名称是Mongodb)

nano /lib/systemd/system/mongodb.service

>文件内容应该是

[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target

[Service]
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongodb
Group=mongodb
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

您也可以从这里下载文件
mongodb.service

以下是重要字段的简要说明:
ExecStart – 命令运行。 Mongo自身安装在/ usr / bin下,配置文件写入/ etc
用户 – mongod进程的uid。
组 – mongod进程的gid。请注意,用户和组是由安装创建的。

现在开始mongodb:

sudo systemctl start mongodb

停止mongodb服务使用:

sudo systemctl stop mongodb

启动时启用mongodb

sudo systemctl enable mongodb.service

如果您需要刷新服务使用:

sudo systemctl daemon-reload

相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在...
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:...
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的...
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用...
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后...
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,...