MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ausführen von Mongodb auf Ubuntu 16.04 LTS

Jeder, der Ubuntu 16.04 (auch als Ubuntu Xenial xerus bekannt) aktualisiert oder installiert hat, hat festgestellt, dass einige der alten Dienste nicht mehr ausgeführt werden. Dieses Problem ist seit Version 15.04 bekannt, aber ich werde mich auf die obige Version konzentrieren.

Das war mein Fall mit MongoDB. Um es kurz zu machen, Ubuntu wechselte von Emporkömmling zu Systemd. Eine gängige Lösung für diese Probleme besteht darin, wieder auf Emporkömmling umzuschalten. Ich halte diese Option nicht für eine wirkliche Lösung, schon gar nicht auf lange Sicht.

Eine echte Lösung ( IMHO ) für das Problem besteht darin, ein systemd-Skript zu schreiben, das MongodDB startet. Leider mussten die Leute von MongoDB noch einen liefern.

Also musste ich einen von Grund auf neu schreiben. Gehen Sie folgendermaßen vor, um eine eigene zu erstellen:

  1. Wechseln Sie mit
    sudo su
    
    zu root

oder verwenden Sie sudo für alle folgenden Schritte.

  1. Erstellen Sie ein Dienstskript (in diesem Beispiel lautet der Name des Dienstes Mongodb)

    nano /lib/systemd/system/mongodb.service
    
  2. Dateiinhalt sollte

    sein
    [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
    

Sie können die Datei auch hier herunterladen:mongodb.service
Hier ist eine kurze Beschreibung der wichtigen Felder:
ExecStart - Ist der auszuführende Befehl. Mongo installiert sich selbst unter /usr/bin und die Konfigurationsdatei wird unter /etc
User geschrieben - Die UID des Mongod-Prozesses.
Gruppe - Die Gid des Mongod-Prozesses. Beachten Sie, dass der Benutzer und die Gruppe durch die Installation erstellt werden.

Starten Sie nun mongodb:

sudo systemctl start mongodb

Um den Mongodb-Dienst zu stoppen, verwenden Sie:

sudo systemctl stop mongodb

Mongodb beim Start aktivieren

sudo systemctl enable mongodb.service

Wenn Sie die Dienste aktualisieren müssen, verwenden Sie:

 sudo systemctl daemon-reload