Comment démarrer le serveur MongoDB au démarrage du système?

86

Je dois démarrer mon serveur MongoDB à chaque redémarrage du système. Comment puis-je le configurer pour démarrer avec mon système d'exploitation? Je suis sur Ubuntu 11.04.


la source
1
Je me demande pourquoi personne ne recommande d'utiliser Upstart ici.
Tom

Réponses:

133

J'ai eu le même "problème" sur Debian Jessie, et ma solution simple est:

systemctl enable mongod.service

Je pense que dans Ubuntu c'est la même chose.

-- MODIFIER --

Selon les commentaires, cela fonctionne aussi sur Ubuntu. Sur Ubuntu 18.04 LTS, cette solution semble être la suivante:

systemctl enable mongodb.service

Merci à @Adam. Peut-être qu'ils ont changé le nom du service

Biber
la source
10
Travaillait pour moiUbuntu Mate 16.04.2 LTS
Muhammad Gelbana
2
Dommage qu'il n'y ait pas d'informations dans la documentation officielle sur le démarrage du service.
UpTheCreek
2
peut-être besoin de (sudo) systemctl start mongoddémarrer le service mongd
Jeff Xiao
2
Fonctionne
1
Ne fonctionne que pour moi si je passe mongod.serviceà mongodb.serviceUbuntu 18.04 LTS - étrange?
Adam
37

Si vous installez MongoDB à l'aide de l'outil Advanced Packaging Tool (apt), vos scripts de démarrage seront configurés pour exécuter automatiquement Mongo au démarrage du système.

Les étapes sont les suivantes, d’abord, configurez apt pour pouvoir télécharger le paquet Mongo:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo nano /etc/apt/sources.list

Ajoutez cette ligne à sources.list puis enregistrez:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Ensuite, téléchargez et installez Mongo avec l' utilitaire apt-get :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mongodb-10gen

Si vous souhaitez apporter des modifications à config, éditez votre fichier mongodb.conf et redémarrez: 

sudo nano /etc/mongodb.conf
sudo service mongod restart
pochoir
la source
5
Si vous souhaitez le modifier ultérieurement pour ne pas démarrer automatiquement MongoDB au démarrage, modifiez-le /etc/init/mongodb.conf.
Kynan
11

Le contrôle de tous les liens de service init.d doit être effectué à l'aide de l'outil update-rc.d.

c'est-à-dire pour activer le démon mongod dans les niveaux d'exécution par défaut (c'est-à-dire l'activer au démarrage):

update-rc.d mongodb defaults

Voir https://help.ubuntu.com/community/UbuntuBootupHowto pour plus d'informations. Ce lien vous indique tout ce que vous voulez savoir sur la configuration des programmes au démarrage.

Ben Walding
la source
2
La distribution MongoDB 10gen n'utilise pas de scripts d'initialisation de style System-V, vous devez l'éditer /etc/init/mongodb.conf.
Kynan
Dois-je faire ça?
tofutim
5

Si vous avez installé MongoDB Community Edition (ce qui est recommandé car il reçoit des mises à jour plus fréquentes que le paquet distribué dans le référentiel de paquets Ubuntu), vous configurez le comportement de démarrage / arrêt demongod via le script init upstart /etc/init/mongod.conf , qui lance par défaut le démon. automatiquement au démarrage

start on runlevel [2345]
stop on runlevel [06]

Si vous ne voulez pas que le logiciel démarre automatiquement, remplacez ces 2 lignes par

stop on runlevel [023456]
Kynan
la source
Cela démarrera-t-il le serveur avant que quiconque se connecte au système?
Gabriel Fair
@GabrielFair Yes
Kynan
5

J'utilise crontab pour Ubuntu. Ça fonctionne bien. Pour pouvoir éditer un fichier

Sudo crontab –e 

Ajouter cette ligne au fichier

@reboot sudo service mongod start &

Le soupir "&" à la fin l'aide à travailler en arrière-plan.

Ctrl+ xpour sortir, appuyez sur "Y" une fois invité. Et conservez le nom du fichier comme "crontab".

CodeGench
la source
3

Si vous avez Ubuntu 16.04 LTS, vous pouvez permettre à mongo de démarrer au démarrage en tapant ceci dans votre console:
sudo systemctl enable mongod
J'ai utilisé cette approche avec MongoDB Community Edition 3.6 et cela fonctionne. Redémarrez votre ordinateur et testez si Mongo est en train de taper:
sudo service mongod status

Mariusz Wiazowski
la source
3

Vous pouvez utiliser la commande systemctl pour activer votre service Mongo au démarrage du système.

Créer un service tel que

sudo nano /etc/systemd/system/mongodb.service

Placer le contenu dans le fichier

[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

vous pourrez ensuite utiliser des commandes de service telles que

sudo service mongod start|stop|restart

et puis si vous voulez le faire au démarrage de la machine, vous pouvez créer le fichier Mongod sous /etc/init.d/

Touseef Murtaza
la source
1

chkconfig --levels 235 mongod on?

où mongodb est le nom de votre service


la source
2
La distribution MongoDB 10gen n’utilise pas les scripts d’init de style System-V par défaut (bien qu’un soit fourni), mais les édite /etc/init/mongodb.conf.
Kynan
@kynan éditez-le comment? Que dois-je modifier / ajouter au fichier mongod.conf?
Kieveli
@Kieveli: voir cette réponse
kynan
1

J’ai toujours utilisé ce poste comme point de départ pour mettre en place une nouvelle plate-forme de sharding. Il comprend une section sur la configuration de l’arrivée que j’ai également utilisée.

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/

chef
la source
1
Merci de ne pas poster "uniquement des liens externes". Il est possible que le lien externe diminue à l'avenir et cette réponse serait alors incomplète. En plus du lien, veuillez poster la partie pertinente de l'article ici: par exemple. postez la partie indiquant "Comment démarrer le serveur MongoDB au démarrage du système?" en utilisant upstart.
rigved
1

Si vous installez MongoDB avec apt-getcomme décrit dans le guide d'installation de MongoDB Ubuntu , un script de démarrage et un fichier de configuration de base lui seront fournis. (l'utilisation d'un fichier de configuration est fortement recommandée)

Vous pouvez également jeter un coup d'œil ici à un ancien message qui renvoie à un init.dscript.

Dans les deux cas, le principe de base est que vous configurez un service, puis que vous configurez le système pour qu'il effectue un démarrage ou un arrêt avec l'ordinateur. C'est une technique assez courante pour les serveurs, il y a beaucoup de tutoriels pour faire exactement cela.

Gates VP
la source
2
plus le cas en 16.04
chovy