当Ubuntu 16.04 LTS中无法启动MongoDB时

因为我有一点迷上了,所以记下来。

这一次从ubuntu开始,正式采用systemd代替SysVinit,但很可能这导致了一些服务无法启动的问题。

症状 – Symptoms

当试图启动随意安装的MongoDB时,
#sudo systemctl start mongod
无法启动mongod.service:找不到mongod.service单元。
出现了这样的错误。

确实,即使按照错误提示查看/etc/init.d和/lib/systemd/system中,也找不到相应的文件。

解决办法

据此,建议自行创建mongod.service。

请用中文进行本地化的表述,仅需给出一种选项:
编辑路径为 /lib/systemd/system/mongod.service 的文件,使用 sudo vim 命令。

[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

创建了mongod.service后,
通过sudo systemctl start mongod进行启动,
它成功地启动了。

最后

我认为除了MongoDB以外,可能还有类似的问题发生的情况。因为16.04LTS刚刚发布,各种软件包的开发者应该会逐渐提供相应的支持。

广告
将在 10 秒后关闭
bannerAds