Fer*_*cci 12 upstart services mongodb systemd 15.10
MongoDB 仅支持 Ubuntu 长期支持 (LTS) 版本。最后一个是 Ubuntu 14.04 LTS,其中 init 进程由 Canonical 专有的 Upstart 管理。但是,我将 Ubuntu 15.10 与 Linux 标准 SystemD init 进程一起使用。所以我无法在启动时启动 MongoDB 服务。
当我读取服务状态或尝试启动它时,显示消息“加载失败”:
> systemctl status mongod
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
> sudo systemctl start mongod
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Run Code Online (Sandbox Code Playgroud)
我正在运行来自https://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/的官方 MongoDB 3.2 社区版 (mongodb-org),而不是来自 Ubuntu 的 MongoDB 2.6 元包 (mongodb)存储库。
> sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
> echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
> sudo apt-get update
> sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
有人知道如何用 SystemD 启动 MongoDB 吗?
Fer*_*cci 30
我在启动时使用 SystemD 设法启动了 MongoDB 服务:
我卸载了官方元包 (mongodb-org) v3.2,然后我从 Ubuntu 存储库安装了元包 (mongodb) v2.6:
> sudo apt-get remove mongodb-org
> sudo apt-get install mongodb
Run Code Online (Sandbox Code Playgroud)
创建服务配置文件,如下所示:
> cd /lib/systemd/system
> sudo touch mongodb.service
> sudo nano mongodb.service
[Unit]
Description=An object/document-oriented database
Documentation=man:mongod(1)
After=network.target
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
使用以下命令在列表中验证该服务是启用还是禁用:
> systemctl list-unit-files --type=service
...
mongodb.service disabled
...
Run Code Online (Sandbox Code Playgroud)
如果它被禁用或不在列表中,请启用它:
> sudo systemctl enable mongodb.service
Run Code Online (Sandbox Code Playgroud)
再检查一遍:
> systemctl list-unit-files --type=service
...
mongodb.service enabled
...
Run Code Online (Sandbox Code Playgroud)
现在您可以在 SystemD init 进程上管理服务:
> systemctl status mongodb
> sudo systemctl stop mongodb
> sudo systemctl start mongodb
> sudo systemctl restart mongodb
Run Code Online (Sandbox Code Playgroud)
享受!
在从 MongoDB 存储库默认安装时,为了自动启动mongod服务,您需要做的就是启用 system.d 服务:
systemctl enable mongod.service
(注意 mongo d服务名称,而不是mongodb)
注意:这是在带有 systemd 的 Debian/GNU Jessie 8.x 和 Ubuntu Xerus 16.04 LTS 上测试的。
归档时间: |
|
查看次数: |
73894 次 |
最近记录: |