MongoDB prend uniquement en charge les versions de prise en charge à 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 l'état 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'exécute l'édition communautaire officielle de MongoDB 3.2 (mongodb-org) à partir de https://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/ et non le méta-package MongoDB 2.6 (mongodb) d'Ubuntu dépôt.
> 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 le MongoDB avec SystemD?
Réponses:
J'ai réussi à démarrer le service MongoDB avec SystemD au démarrage:
J'ai désinstallé le méta-package officiel (mongodb-org) v3.2, puis j'ai installé le méta-package (mongodb) v2.6 du référentiel Ubuntu:
Créez le fichier de configuration du service comme indiqué ci-dessous:
Vérifiez dans la liste si le service est activé ou désactivé à l'aide de la commande ci-dessous:
S'il est désactivé ou non dans la liste, activez-le:
Revérifier:
Vous pouvez maintenant gérer le service sur le processus d'initialisation SystemD:
Prendre plaisir!
la source
/lib
./lib
. Les parties de la définition de service sont suffisamment bonnes pour démarrer le service, les paramètres supplémentaires n'ont pas d'effet significatif, ils sont donc considérés comme complémentaires. Si vous ajoutez laPIDFile=/var/run/mongodb/mongod.pid
ligne et l'run
instruction enExecStart=
ligne, vous obtenez une erreur, car j'utilise le méta-package (mongodb) 2.6, pas le méta-package (mongodb-org) 3.2.chown
les avant que mongod ne démarre via systemctl. Rien que les docs d'installation ne m'auraient dit mais au cas où cela serait utile!Lors de l'installation par défaut à partir du référentiel MongoDB, afin d'avoir un démarrage automatique du service mongod , il vous suffit d'activer le service system.d:
systemctl enable mongod.service
(faites attention au nom du service mongo d , pas à mongodb )REMARQUE: ceci est testé sur Debian / GNU Jessie 8.x avec systemd et Ubuntu Xerus 16.04 LTS.
la source
/lib/systemd/system/mongod.service
mon Ubuntu 16.04