Wie starte ich den MongoDB Server beim Systemstart?

85

Ich muss meinen MongoDB-Server bei jedem Neustart des Systems neu starten. Wie konfiguriere ich es für den Start mit meinem Betriebssystem? Ich bin auf Ubuntu 11.04.


quelle
1
Ich frage mich, warum niemand hier Emporkömmling empfiehlt.
Tom

Antworten:

132

Ich hatte das gleiche "Problem" bei Debian Jessie und meine einfache Lösung ist:

systemctl enable mongod.service

Ich denke in Ubuntu ist es dasselbe.

- BEARBEITEN -

Laut den Kommentaren funktioniert es auch auf Ubuntu. Auf Ubuntu 18.04 LTS scheint es diese Lösung zu sein:

systemctl enable mongodb.service

Vielen Dank an @Adam. Vielleicht haben sie den Namen des Dienstes geändert

Biber
quelle
10
Hat für mich gearbeitet anUbuntu Mate 16.04.2 LTS
Muhammad Gelbana
2
Schade, dass es in der offiziellen Dokumentation keine Informationen zum Starten des Dienstes gibt.
UpTheCreek
2
Möglicherweise müssen Sie (sudo) systemctl start mongodden mongd-Dienst starten
Jeff Xiao
2
Funktioniert auch auf Ubuntu 18.04 LTS
89n3ur0n
1
Funktioniert bei mir nur , wenn ich ändern , mongod.serviceum mongodb.serviceauf Ubuntu 18.04 LTS - seltsam?
Adam
37

Wenn Sie MongoDB mit dem Advanced Packaging Tool (apt) installieren, werden Ihre Startskripts so konfiguriert, dass Mongo beim Systemstart automatisch ausgeführt wird.

Führen Sie die folgenden Schritte aus, um apt zunächst so zu konfigurieren , dass das Mongo-Paket heruntergeladen werden kann:

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

Füge diese Zeile zu sources.list hinzu und speichere:

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

Laden Sie dann Mongo mit dem Dienstprogramm apt-get herunter und installieren Sie es :

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

Wenn Sie Änderungen an der Konfiguration vornehmen möchten, bearbeiten Sie Ihre mongodb.conf und starten Sie neu: 

sudo nano /etc/mongodb.conf
sudo service mongod restart
stenci
quelle
5
Wenn Sie es später so ändern möchten, dass MongoDB beim Start nicht automatisch gestartet wird, bearbeiten Sie es /etc/init/mongodb.conf.
kynan
11

Das Steuern aller init.d-Dienstverknüpfungen sollte mit dem Tool update-rc.d erfolgen

dh, um den Mongod-Daemon in den Standard-Runlevels einzuschalten (dh, um ihn beim Booten einzuschalten):

update-rc.d mongodb defaults

Weitere Informationen finden Sie unter https://help.ubuntu.com/community/UbuntuBootupHowto . Über diesen Link erfahren Sie alles, was Sie über das Festlegen von Programmen beim Booten wissen möchten.

Ben Walding
quelle
2
Die 10gen MongoDB-Distribution verwendet keine Init-Skripte im System-V-Stil, die Sie bearbeiten müssen /etc/init/mongodb.conf.
kynan
muss ich das machen
Tofutim
5

Wenn Sie die MongoDB Community Edition installiert haben (dies ist die empfohlene Methode, da sie häufiger aktualisiert wird als das im Ubuntu-Paket-Repository verteilte Paket), konfigurierenmongod Sie das Start- / Stopp-Verhalten über das Init-Skript upstart /etc/init/mongod.conf , das standardmäßig den Dämon startet automatisch beim Booten

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

Wenn Sie nicht möchten, dass es automatisch startet, ersetzen Sie diese beiden Zeilen durch

stop on runlevel [023456]
kynan
quelle
Wird dadurch der Server gestartet, bevor sich jemand beim System anmeldet?
Gabriel Fair
@ GabrielFair Ja
kynan
5

Ich benutze Crontab für Ubuntu. Es funktioniert gut. Datei bearbeiten können

Sudo crontab –e 

Fügen Sie diese Zeile der Datei hinzu

@reboot sudo service mongod start &

Das "&" Seufzen am Ende hilft dabei, den Hintergrund zu bearbeiten.

Ctrl+ xDrücken Sie zum Verlassen "Y", wenn Sie dazu aufgefordert werden. Behalten Sie den Dateinamen "crontab" bei.

CodeGench
quelle
3

Wenn Sie Ubuntu 16.04 LTS haben, können Sie mongo aktivieren, um mit dem Booten zu beginnen. Geben Sie dies in Ihre Konsole ein:
sudo systemctl enable mongod
Ich habe diesen Ansatz mit MongoDB Community Edition 3.6 verwendet und er funktioniert. Starten Sie Ihren Computer neu und testen Sie, ob Mongo ausgeführt wird. Geben Sie Folgendes ein:
sudo service mongod status

Mariusz Wiazowski
quelle
3

Sie können den Befehl systemctl verwenden, um Ihren Mongo-Dienst bei der Ausführung beim Systemstart zu aktivieren.

Erstellen Sie einen Service so, dass

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

Platzieren Sie den Inhalt in der Datei

[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

Danach können Sie Servicebefehle wie

sudo service mongod start|stop|restart

und wenn du es dann beim maschinenstart nachholen willst, kannst du unter mongod eine datei erstellen /etc/init.d/

Touseef Murtaza
quelle
1

chkconfig --levels 235 mongod on?

Wobei mongodb der Name Ihres Dienstes ist


quelle
2
Die 10gen MongoDB-Distribution verwendet standardmäßig keine Init-Skripte im System-V-Stil (obwohl eines bereitgestellt wird), /etc/init/mongodb.confsondern bearbeitet sie .
kynan
@kynan Bearbeiten Sie es wie? Was ändere ich / füge ich der mongod.conf-Datei hinzu?
Kieveli
@ Kieveli: Siehe diese Antwort
Kynan
1

Ich habe diesen Beitrag konsequent als Ausgangspunkt verwendet, um ein neues Scherben-Rig in Betrieb zu nehmen. Es enthält einen Abschnitt zum Konfigurieren von Upstart, den ich auch verwendet habe.

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

Csief
quelle
1
Bitte posten Sie nicht "nur externe Links". Es ist möglich, dass der externe Link in Zukunft ausfällt und diese Antwort dann unvollständig ist. Zusätzlich zum Link posten Sie bitte den entsprechenden Teil des Artikels hier: zB. Veröffentlichen Sie den Teil mit der Aufschrift "Wie starte ich MongoDB Server beim Systemstart?" mit upstart.
23.
1

Wenn Sie MongoDB apt-getwie im MongoDB Ubuntu-Installationshandbuch beschrieben installieren , werden ein grundlegendes Startskript und eine Konfigurationsdatei mitgeliefert. (Verwendung einer Konfigurationsdatei wird dringend empfohlen)

Sie können hier auch nach einem alten Beitrag suchen , der auf ein init.dSkript verweist.

In beiden Fällen besteht die Grundvoraussetzung darin, dass Sie einen Dienst einrichten und dann so konfigurieren, dass der Computer gestartet und gestoppt wird. Dies ist eine bei Servern weit verbreitete Technik. Hierfür gibt es viele Tutorials.

Gates VP
quelle
2
nicht mehr der Fall in 16.04
chovy