sql >> Databáze >  >> NoSQL >> MongoDB

Spuštění mongodb na ubuntu 16.04 LTS

Každý, kdo upgradoval nebo nainstaloval Ubuntu 16.04 (také známý jako Ubuntu Xenial xerus), si všiml, že některé ze starých služeb přestaly běžet. Tento problém je znám z verze 15.04, ale já se zaměřím na výše uvedenou verzi.

To byl můj případ s MongoDB. Abychom udělali dlouhý příběh, krátký, Ubuntu se posunulo z upstart na systemd. Jedním z běžných řešení těchto problémů je přejít zpět na upstart. Tuto možnost nepovažuji za skutečné řešení, rozhodně ne z dlouhodobého hlediska.

Skutečným řešením (IMHO) problému je napsat systemd skript, který spustí MongodDB. Bohužel kluci z MongoDB ještě jeden nedodali.

Takže jsem musel napsat jeden od začátku. Chcete-li vytvořit vlastní, postupujte takto:

  1. přepněte na root pomocí
    sudo su
    

nebo použijte sudo pro všechny následující kroky.

  1. vytvořte skript služby (v tomto příkladu je název služby Mongodb)

    nano /lib/systemd/system/mongodb.service
    
  2. Obsah souboru by měl být

    [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
    

Soubor si také můžete stáhnout zde:mongodb.service
Zde je stručný popis důležitých polí:
ExecStart - Je příkaz ke spuštění. Mongo se nainstaluje do /usr/bin a konfigurační soubor je zapsán v /etc
Uživatel - Uid procesu mongoda.
Skupina - Gid mongodského procesu. Pamatujte, že uživatel a skupina jsou vytvořeni instalací.

Nyní ke spuštění mongodb:

sudo systemctl start mongodb

Chcete-li zastavit službu mongodb, použijte:

sudo systemctl stop mongodb

Chcete-li povolit mongodb při spuštění

sudo systemctl enable mongodb.service

Pokud potřebujete obnovit služby, použijte:

 sudo systemctl daemon-reload


  1. Problém MongoDB na Vagrant prostřednictvím přesměrování portů

  2. OData – Podivný index s MongoDB [Mongoose:Cast Error]

  3. Node MongoDb { err:'vypršel časový limit připojení k [127.0.0.1:27017]' }

  4. Najít a upravit pomocí MongoDB C#