MongoDB prend uniquement en charge les versions de support à long terme d'Ubuntu (LTS). Le dernier est Ubuntu 14.04 LTS, où le processus d’initialisation est géré par Upstart, propriétaire de Canonical. Cependant, j'utilise Ubuntu 15.10 avec le processus d'initialisation SystemD standard de Linux. Je ne peux donc pas démarrer le service MongoDB au démarrage.
Lorsque je lis le statut du service ou que j'essaie de le démarrer, affiche le message "Échec du chargement":
> 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.
J'utilise la version officielle de MongoDB 3.2 Community Edition (mongodb-org) depuis https://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/ pas avec la méta MongoDB 2.6. -package (mongodb) à partir du référentiel 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
Quelqu'un sait comment démarrer MongoDB avec SystemD?
J'ai réussi à démarrer le service MongoDB avec SystemD au démarrage:
J'ai désinstallé le méta-paquet officiel (mongodb-org) v3.2, puis j'ai installé le méta-paquet (mongodb) v2.6 à partir du référentiel Ubuntu:
> Sudo apt-get remove mongodb-org
> Sudo apt-get install mongodb
Créez le fichier de configuration du service comme indiqué ci-dessous:
> 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
Vérifiez dans la liste si le service est activé ou désactivé en utilisant la commande ci-dessous:
> systemctl list-unit-files --type=service
...
mongodb.service disabled
...
S'il est désactivé ou non dans la liste, activez-le:
> Sudo systemctl enable mongodb.service
Revérifier:
> systemctl list-unit-files --type=service
...
mongodb.service enabled
...
Vous pouvez maintenant gérer le service sur le processus d’initialisation SystemD:
> systemctl status mongodb
> Sudo systemctl stop mongodb
> Sudo systemctl start mongodb
> Sudo systemctl restart mongodb
Prendre plaisir!
Lors de l'installation par défaut à partir du référentiel MongoDB, pour que le service mongod démarre automatiquement, il vous suffit d'activer le service system.d:
systemctl enable mongod.service
(faites attention à mongo d nom du service, pas mongodb )
REMARQUE: ceci est testé sur Debian/GNU Jessie 8.x avec systemd et Ubuntu Xerus 16.04 LTS.