MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Exécuter mongodb sur Ubuntu 16.04 LTS

Quiconque a mis à niveau ou installé Ubuntu 16.04 (également connu sous le nom d'Ubuntu Xenial xerus) a remarqué que certains des anciens services avaient cessé de fonctionner. Ce problème est connu depuis la version 15.04, mais je vais me concentrer sur la version ci-dessus.

Tel était mon cas avec MongoDB. Pour faire court, Ubuntu est passé de parvenu à systemd. Une solution commune, à ces problèmes, est de revenir à upstart. Je ne considère pas cette option comme une vraie solution, certainement pas à long terme.

Une vraie solution (IMHO) au problème consiste à écrire un script systemd qui démarrera MongodDB. Malheureusement, les gars de MongoDB n'en avaient pas encore fourni.

J'ai donc dû en écrire un à partir de zéro. Pour créer l'un des vôtres, suivez ces étapes :

  1. passez à la racine en utilisant
    sudo su
    

ou utilisez sudo pour toutes les étapes suivantes.

  1. créer un script de service (dans cet exemple le nom du service est Mongodb)

    nano /lib/systemd/system/mongodb.service
    
  2. Le contenu du fichier doit être

    [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
    
    [Install]
    WantedBy=multi-user.target
    

Vous pouvez également télécharger le fichier ici :mongodb.service
Voici une description rapide des champs importants :
ExecStart - Est la commande à exécuter. Mongo s'installe sous /usr/bin et le fichier de configuration est écrit dans /etc
User - L'uid du processus mongod.
Groupe - Le gid du processus mongod. Notez que l'utilisateur et le groupe sont créés par l'installation.

Maintenant, pour démarrer mongodb :

sudo systemctl start mongodb

Pour arrêter l'utilisation du service mongodb :

sudo systemctl stop mongodb

Pour activer mongodb au démarrage

sudo systemctl enable mongodb.service

Si vous avez besoin d'actualiser les services, utilisez :

 sudo systemctl daemon-reload