Wie kann ich MongoDB so einrichten, dass es als Windows-Dienst ausgeführt werden kann?
mongodb
windows-services
nosql
heisthedon
quelle
quelle
Antworten:
Ich denke, wenn Sie es mit dem
--install
Befehlszeilenschalter ausführen , wird es als Windows-Dienst installiert.Es könnte sich jedoch lohnen, diesen Thread zuerst zu lesen . Es scheint einige Probleme mit relativen / absoluten Pfaden zu geben, wenn der entsprechende Registrierungsschlüssel geschrieben wird.
quelle
net start MongoDB
Nachdem ich es einige Stunden lang versucht hatte, tat ich es endlich.
Stellen Sie sicher, dass Sie das
<MONGODB_PATH>\bin
Verzeichnis zur Systemvariablen hinzugefügt habenPATH
Zuerst habe ich diesen Befehl ausgeführt:
Dann habe ich diesen Befehl ausgeführt, nachdem ich die Eingabeaufforderung als Administrator geöffnet hatte:
Danach direkt dort in der Eingabeaufforderung ausführen:
Suchen Sie nach dem MongoDB-Dienst und klicken Sie auf Start.
HINWEIS: Stellen Sie sicher, dass Sie die Eingabeaufforderung als Administrator ausführen.
Wenn Sie dies nicht tun, enthält Ihre Protokolldatei (
D:\mongodb\log.txt
im obigen Beispiel) Zeilen wie die folgenden:Wenn Sie versuchen, den Dienst über eine Nicht-Administratorkonsole (dh
net start MongoDB
oderStart-Service MongoDB
in PowerShell) zu starten , erhalten Sie eine Antwort wie folgt:oder dieses:
quelle
net start MongoDB
anstelle von verwendenservices.msc
. (mongod
Empfahl mir das.)nicht nur
--install
,brauche auch
--dbpath
und--logpath
und nach dem Neustart des Betriebssystems müssen Sie "mongod.lock " manuell löschen
quelle
mongod.lock
Fehler auf meinemWindows 8 x64
Im Gegensatz zu anderen Antworten wird dies ..
Starten Sie den Service automatisch beim Neustart / Neustart des Systems
MongoDB installieren
Windows
(1) Installieren Sie MongoDB
(2) Bin zum Pfad hinzufügen
(3) Erstellen Sie c: \ data \ db
(4) Erstellen Sie c: \ data \ log
(5) Erstellen Sie c: \ data \ mongod.cfg mit Inhalten.
(6) So erstellen Sie einen Dienst, der beim Neustart automatisch gestartet wird . RUN AS ADMIN ..
(7) Starten Sie den Dienst. LAUFEN SIE ALS ADMIN.
WICHTIG: Auch wenn hier steht, dass der MongoDB-Dienst erfolgreich gestartet wurde, kann dies fehlschlagen
Um zu überprüfen, ob Systemsteuerung> Dienste geöffnet ist, stellen Sie sicher, dass der Status des MongoDB-Dienstes "Wird ausgeführt" lautet.
Wenn nicht, überprüfen Sie Ihre Protokolldatei unter C: \ data \ log \ mongod.log auf den Grund für den Fehler und beheben Sie ihn
(Starten Sie MongoDB nicht über Systemsteuerung> Dienste, verwenden Sie .. net start MongoDB)
(8) Starten Sie Ihren Computer schließlich neu, während MongoDB ausgeführt wird, und er wird beim Neustart weiterhin ausgeführt
Wenn du es jemals töten willst ..
quelle
3.4
zur3.6
Version wechselnsc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
Führen Sie unten in einer Verwaltung
cmd
Dadurch wird der vorhandene MongoDB-Dienst (falls vorhanden) entfernt.
Stellen Sie sicher, dass der
C:\data\db
Ordner vorhanden istOffene Dienste mit:
Suchen Sie MongoDB -> Rechtsklick -> Start
quelle
Sie können den folgenden Befehl verwenden, um mongodb als Windows-Dienst auszuführen
Wenn Sie mongodb mit Standardparametern verwenden, können Sie folgende Werte verwenden:
Weitere Informationen zu diesem Befehl finden Sie hier
http://www.mongodb.org/display/DOCS/Windows+Service
quelle
Ich habe alle Antworten ausprobiert und es dann so gemacht, wie es https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition beschreibt .
Verwenden Sie eine Konfigurationsdatei ...
"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install
quelle
Dieses PowerShell-Skript lädt MongoDB als Windows-Dienst herunter und installiert es:
quelle
Dies war das einzige, was für mich funktioniert hat. Da musste alles ein absoluter Weg sein:
Ich musste es auch laufen lassen
admin cmd
quelle
Der empfohlene Weg
mongod --install
führt zu Fehlern:Nachdem
C:\mongodb
Sie mongodb installiert haben, müssen Sie einfach den Protokollpfad hinzufügen:Der Pfad zur Protokolldatei muss vorhanden sein und ein absoluter Windows-Pfad sein. Anschließend starten Sie den MongoDB-Dienst, indem Sie Folgendes eingeben:
quelle
Erwägen Sie die Verwendung
quelle
Arbeiten an Mongo DB: 3.6
(1) Installieren Sie MongoDB
(2) Fügen Sie der Umgebungspfadvariablen bin hinzu
(3) Erstellen
c:\data\db
(4) Erstellen
c:\data\mongod.log
(5) Führen Sie unter Befehl für
bin
Ordner aus(6) Mongo db als Dienst starten
(7) Führen Sie schließlich die
mongo
Befehlszeile aus, um zu überprüfen, ob die Mongo-Shell geöffnet ist oder nicht.quelle
Referenz
quelle
Das hat bei mir funktioniert:
Das Entkommen aus dem binPath schlug für mich fehl, wie in der Mongo-Dokumentation beschrieben
Gescheitert:
quelle
Der einfachste Weg ist,
C:\data\db
C:\data\db\log.txt
Öffnen Sie die Eingabeaufforderung als "Als Administrator ausführen" und stellen Sie sicher, dass der Verzeichnispfad von mogodb bin korrekt ist, und schreiben Sie
Starten Sie den Mongodb-Service:
quelle
Arbeiten an MongoDB 3.4 [Windows]
Erstellen Sie mit dieser Konfiguration eine Datei in C: /mongodb/mongodb.config:
Führen Sie diesen Befehl in Powershell mit Administratorleistung aus, um MongoDb als Dienst zu installieren
mongod --config = "C: \ mongodb \ mongodb.config" --install --service
Öffnen Sie Services.msc, suchen Sie nach MongoDb und starten Sie es
quelle
Erstellen Sie für Version 2.4.3 (aktuelle Version zum Buchungsdatum) eine Konfigurationsdatei und führen Sie dann Folgendes aus:
C:\MongoDB\bin\mongod.exe --config C:\MongoDB\mongod.cfg --service
quelle
Derzeit (bis Version 2.4.4) wird der Dienst nicht gestartet, wenn ein Pfad (dbpath / logpath / config) Leerzeichen enthält, und es wird der Fehler angezeigt: "Der Dienst reagiert nicht auf die Steuerfunktion".
quelle
Ich bin auf Version 2.4.9 und verwende eine Konfigurationsdatei. Der Dienst würde erst gestartet, wenn ich das Gleichheitszeichen in der Konfigurationsdatei mit Leerzeichen umgeben habe:
Ursprünglich hatte ich:
Ich habe auch festgestellt, dass Sie bei der Installation des Dienstes einen absoluten Pfad für die Konfigurationsdatei verwenden müssen, z.
Seien Sie nicht versucht, Anführungszeichen um einen Datenbankpfad mit Leerzeichen zu setzen. Der Dienst scheint zu starten, wenn Sie net start MongoDB ausführen , wird jedoch beendet. Überprüfen Sie die Protokolldateien auf Bestätigung, dass der Dienst wirklich gestartet wurde.
quelle
Führen Sie "cmd.exe" als Administrator aus und führen Sie dann "sc.exe" aus, um einen neuen Windows-Dienst hinzuzufügen.
beispielsweise:
quelle
Ich fand, dass Sie: dbpath, config und logfile mit dem Installationsflag an mongod übergeben sollten
Beispiel:
Hinweis: Ich habe einen Mongod-Pfad in meiner Pfadvariablen.
Sie können den Dienst steuern mit:
quelle
Dies sind die Schritte zum Installieren von MongoDB als Windows-Dienst:
Erstellen Sie ein Protokollverzeichnis, z
C:\MongoDB\log
Erstellen Sie ein Datenbankverzeichnis, z
C:\MongoDB\db
Bereiten Sie eine Konfigurationsdatei mit den folgenden Zeilen vor
dbpath=C:\MongoDB\db
logpath=C:\MongoDB\log
Legen Sie die Konfigurationsdatei mit dem Namen mongod.cfg im Ordner "C: \ MongoDB \" ab.
Mit dem folgenden Befehl wird der Windows-Dienst auf Ihrem Computer installiert
sc.exe create MongoDB binPath= "\"C:\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\MongoDB\mongod.cfg\" DisplayName= "MongoDB 3.4" start= "auto"
Sobald Sie diesen Befehl ausführen, erhalten Sie die
[SC] CreateService SUCCESS
Führen Sie den folgenden Befehl an der Eingabeaufforderung aus
net start MongoDB
quelle
Wenn Sie MongoDB 2.6.1 oder höher mithilfe des MSI-Downloads von einer Administrator-Eingabeaufforderung installieren , sollte automatisch eine Dienstdefinition für Sie erstellt werden.
In der MongoDB-Dokumentation finden Sie auch ein Lernprogramm, mit dem Sie bei Bedarf manuell eine Windows-Dienstdefinition erstellen können.
quelle
Diese Antwort richtet sich an Benutzer, die mongo DB bereits mit dem MSI-Installationsprogramm installiert haben.
Angenommen, Ihr standardmäßig installierter Speicherort ist "C: \ Programme \ MongoDB \ Server \ 3.2 \ bin".
Schritte zum Ausführen von Mongo als Fensterservice
cd C:\Program Files\MongoDB\Server\3.2\bin
(überprüfen Sie den Pfad ordnungsgemäß, da möglicherweise eine andere Version installiert ist und nicht 3.2).net start MongoDB
services.msc
und überprüfen Sie, ob Mongo als Dienst ausgeführt wird.quelle
System error 2 has occurred. The system cannot find the file specified.
mongod, mongodb auch versucht.quelle
Überprüfen Sie die Windows-Dienste
Wenn Sie einen Dienst für Mongo haben, entfernen Sie ihn, indem Sie den folgenden Befehl ausführen
mongod --remove
Erstellen Sie die Datei mongo.cfg mit den folgenden Inhalten
systemLog:
Ziel: Dateipfad
: c: \ data \ log \ mongod.log
Speicher:
dbPath: c: \ data \ db
Pfad: Wo möchten Sie die Protokolldaten speichern
? dbPath: Ihr Datenbankverzeichnis
Führen Sie dann den folgenden Befehl aus
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
binPath: mongodb Installationsverzeichnis
config: .cfg file address
Anzeigename: Ihr Dienstname
Dienst starten
net start MongoDB
Jetzt sind alle Dinge erledigt. Geniesse es
quelle
In meinem Fall erstelle ich die Datei mongod.cfg neben der Datei mongd.exe mit dem folgenden Inhalt.
Dann führe ich einen der beiden Befehle aus, um den Dienst zu erstellen.
Die folgenden Angaben sind nicht korrekt. Beachten Sie, dass die Anführungszeichen erforderlich sind.
quelle
Bitte versuchen Sie die Schritte in Mongo DB: 3.6 & Windows 10
mongod --remove
mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --service
mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --install
net start MongoDB
quelle