MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Uruchamianie mongodb na ubuntu 16.04 LTS

Każdy, kto uaktualnił lub zainstalował Ubuntu 16.04 (znany również jako Ubuntu Xenial xerus) zauważył, że niektóre stare usługi przestały działać. Ten problem jest znany z wersji 15.04, ale skupię się na powyższej wersji.

Tak było w moim przypadku z MongoDB. Krótko mówiąc, Ubuntu zmieniło się z upstart na systemd. Jednym z powszechnych rozwiązań tych problemów jest powrót do nowych użytkowników. Nie uważam tej opcji za realne rozwiązanie, na pewno nie na dłuższą metę.

Prawdziwym rozwiązaniem (IMHO) tego problemu jest napisanie skryptu systemd, który uruchomi MongodDB. Niestety, chłopaki z MongoDB jeszcze go nie dostarczyli.

Musiałem więc napisać jedną od podstaw. Aby utworzyć własny, wykonaj następujące kroki:

  1. przełącz się na roota za pomocą
    sudo su
    

lub użyj sudo we wszystkich poniższych krokach.

  1. utwórz skrypt usługi (w tym przykładzie nazwa usługi to Mongodb)

    nano /lib/systemd/system/mongodb.service
    
  2. Zawartość pliku powinna być

    [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
    

Możesz również pobrać plik tutaj:mongodb.service
Oto krótki opis ważnych pól:
ExecStart - Czy polecenie do uruchomienia. Mongo instaluje się w /usr/bin, a plik konfiguracyjny jest zapisywany w /etc
Użytkownik - Uid procesu mongod.
Grupa - Gid procesu mongodów. Zauważ, że użytkownik i grupa są tworzone przez instalację.

Teraz, aby rozpocząć mongodb:

sudo systemctl start mongodb

Aby zatrzymać usługę mongodb, użyj:

sudo systemctl stop mongodb

Aby włączyć mongodb przy starcie

sudo systemctl enable mongodb.service

Jeśli chcesz odświeżyć usługi, użyj:

 sudo systemctl daemon-reload


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. DbRef z Mongoose - mongoose-dbref czy zapełnij?

  2. mongodb $pull dopasowywanie z wyrażeniem regularnym nie działa

  3. Tworzenie niestandardowego identyfikatora obiektu w MongoDB

  4. Zestawy replik MongoDB z arbitrami

  5. Jaki jest silnik JavaScript, który uruchamia powłokę mongoDB?