MongoDB просто поддерживает версии Долговременной поддержки (LTS) Ubuntu. Последней является Ubuntu 14.04 LTS, где процесс init организован Выскочкой, собственной из Канонических. Однако я использую Ubuntu 15.10 с процессом SystemD init стандарта Linux. Таким образом, я не могу запустить услуги 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.
Я выполняю официальный Выпуск Сообщества MongoDB 3.2 (mongodb-org) от https://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/не метапакет MongoDB 2.6 (mongodb) из репозитория Ubuntu.
> 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
Кто-то знает, как запустить MongoDB с SystemD?
Я справился, запускают услуги MongoDB с SystemD на начальной загрузке:
я удалил официальный метапакет (mongodb-org) v3.2, затем я установил метапакет (mongodb) v2.6 из репозитория Ubuntu:
> sudo apt-get remove mongodb-org
> sudo apt-get install mongodb
Создают сервисный файл конфигурации как показано ниже:
> 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
Проверяют в списке, если сервису включают или отключил использование команды ниже:
> systemctl list-unit-files --type=service
...
mongodb.service disabled
...
, Если это отключено или не в списке, включите его:
> sudo systemctl enable mongodb.service
Проверка снова:
> systemctl list-unit-files --type=service
...
mongodb.service enabled
...
Теперь Вы можете, справляясь с сервисом на процесс SystemD init:
> systemctl status mongodb
> sudo systemctl stop mongodb
> sudo systemctl start mongodb
> sudo systemctl restart mongodb
Обладают!
На установке по умолчанию из репозитория MongoDB, чтобы иметь автоматический запуск сервис mongod , все, которое необходимо сделать, включают system.d сервис:
systemctl enable mongod.service
(обращают внимание на монго сервисное d название, не mongodb)
ПРИМЕЧАНИЕ: это тестируется и на Jessie Debian/GNU 8.x с systemd и на Ubuntu Xerus 16.04 LTS.