Come eseguire MongoDB come servizio di Windows?

Come configurare MongoDB in modo che possa essere eseguito come servizio di Windows?

Penso che se lo si esegue con l’ --install riga di comando --install , lo installa come servizio di Windows.

 mongod --install 

Potrebbe valere la pena leggere questo thread prima però. Sembra che ci siano alcuni problemi con percorsi relativi / assoluti quando viene scritta la chiave di registro pertinente.

Dopo aver provato diverse ore, finalmente l’ho fatto.

Assicurarsi di aver aggiunto la directory / bin alla variabile di sistema PATH

Per prima cosa ho eseguito questo comando:

 D:\mongodb\bin>mongod --remove 

Per prima cosa ho eseguito questo comando dopo aver aperto il prompt dei comandi come amministratore:

 D:\mongodb\bin>mongod --dbpath=D:\mongodb --logpath=D:\mongodb\log.txt --install 

Dopodiché, proprio lì nel prompt dei comandi, esegui:

 services.msc 

E cercare il servizio MongoDB e fare clic su Start.


NOTA: assicurati di eseguire il prompt dei comandi come amministratore.

Se non si utilizza il file di registro (‘D: \ mongodb \ log.txt’ nell’esempio precedente) conterrà righe come queste:

 2016-11-11T15:24:54.618-0800 I CONTROL [main] Trying to install Windows service 'MongoDB' 2016-11-11T15:24:54.618-0800 I CONTROL [main] Error connecting to the Service Control Manager: Access is denied. (5) 

e se provate ad avviare il servizio da una console non di amministrazione, (ad esempio, net start MongoDB o Start-Service MongoDB in PowerShell), otterrete una risposta come questa:

 System error 5 has occurred. Access is denied. 

o questo:

 Start-Service : Service 'MongoDB (MongoDB)' cannot be started due to the following error: Cannot open MongoDB service on computer '.'. At line:1 char:1 + Start-Service MongoDB + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceComman 

non solo – --install ,

anche bisogno di --dbpath e --logpath

e dopo il riavvio del sistema operativo è necessario eliminare “mongod.lock ” manualmente

A differenza di altre risposte, questo …

AVVIARE IL SERVIZIO AUTOMATICAMENTE SU REBOOT / RIAVVIO SISTEMA

Installazione di MongoDB

windows

(1) Installa MongoDB

(2) Aggiungi bin al percorso

(3) Creare c: \ data \ db

(4) Creare c: \ data \ log

(5) Creare c: \ data \ mongod.cfg con i contenuti ..

 systemLog: destination: file path: c:\data\log\mongod.log storage: dbPath: c:\data\db 

(6) Per creare un servizio che si avvierà automaticamente al riavvio .. ESEGUIRE COME AMMINISTRARE ..

 sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto" 

(7) Avviare il servizio .. ESEGUIRE COME AMMINISTRARE ..

 net start MongoDB 

IMPORTANTE: anche se questo dice “Il servizio MongoDB è stato avviato con successo” può fallire

Per ricontrollare aprire Pannello di controllo> Servizi, assicurarsi che lo stato del servizio MongoDB sia ‘In esecuzione’

In caso contrario, controllare il file di registro in C: \ data \ log \ mongod.log per il motivo dell’errore e risolverlo

(Non avviare MongoDB tramite Pannello di controllo> Servizi, utilizzare .. net start MongoDB)

(8) Infine, riavvia il computer con MongoDB in esecuzione e sarà ancora in esecuzione al riavvio

Se mai vuoi ucciderlo ..

 net stop MongoDB sc.exe delete MongoDB 

I seguenti passaggi si applicano a Windows.

Esegui sotto in un cmd amministrativo

 mongod --remove 

Questo rimuoverà il servizio MongoDB esistente (se presente).

 mongod --dbpath "C:\data\db" --logpath "C:\Program Files\MongoDB\Server\3.4\bin\mongod.log" --install --serviceName "MongoDB" 

Assicurarsi che la cartella C:\data\db esista

Apri i servizi con:

 services.msc 

Trova MongoDB -> Fai clic con il pulsante destro del mouse -> Avvia

È ansible utilizzare il comando seguente per eseguire mongodb come servizio di Windows

 "C:\mongodb\bin\mongod" --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install 

Se si utilizza mongodb con i parametri predefiniti, è ansible utilizzare questi valori:

  • tuoIPadress: 127.0.0.1 o localhost
  • yourPortNumber: 27017 (porta predefinita) o non mettere –port
  • serviceDisplayName: solo se si esegue più di un servizio (dal mongodb 1.8)

Ci sono ulteriori informazioni su questo comando qui

http://www.mongodb.org/display/DOCS/Windows+Service

Questo script PowerShell scarica e installa MongoDB come servizio di Windows:

 Set-ExecutionPolicy RemoteSigned $mongoDbPath = "C:\MongoDB" $mongoDbConfigPath = "$mongoDbPath\mongod.cfg" $url = "http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.4.9.zip" $zipFile = "$mongoDbPath\mongo.zip" $unzippedFolderContent ="$mongoDbPath\mongodb-win32-x86_64-2008plus-2.4.9" if ((Test-Path -path $mongoDbPath) -eq $True) { write-host "Seems you already installed MongoDB" exit } md $mongoDbPath md "$mongoDbPath\log" md "$mongoDbPath\data" md "$mongoDbPath\data\db" [System.IO.File]::AppendAllText("$mongoDbConfigPath", "dbpath=C:\MongoDB\data\db`r`n") [System.IO.File]::AppendAllText("$mongoDbConfigPath", "logpath=C:\MongoDB\log\mongo.log`r`n") [System.IO.File]::AppendAllText("$mongoDbConfigPath", "smallfiles=true`r`n") [System.IO.File]::AppendAllText("$mongoDbConfigPath", "noprealloc=true`r`n") $webClient = New-Object System.Net.WebClient $webClient.DownloadFile($url,$zipFile) $shellApp = New-Object -com shell.application $destination = $shellApp.namespace($mongoDbPath) $destination.Copyhere($shellApp.namespace($zipFile).items()) Copy-Item "$unzippedFolderContent\*" $mongoDbPath -recurse Remove-Item $unzippedFolderContent -recurse -force Remove-Item $zipFile -recurse -force & $mongoDBPath\bin\mongod.exe --config $mongoDbConfigPath --install & net start mongodb 

Ho provato tutte le risposte e poi ho fatto come descrive https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition .

Usa un file di configurazione …

"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install

Questa è stata l’unica cosa che ha funzionato per me. Come tutto doveva essere un percorso assoluto:

 C:\Program Files\MongoDB\Server\3.2\bin>mongod --install --dbpath=c:/data/db --logpath=c:/data/logs/log.txt 

Ho anche dovuto eseguirlo da admin cmd

Considerare l’utilizzo

 mongod --install --rest --master 

Il modo raccomandato mongod --install errore:

 2015-12-03T18:18:28.896+0100 I CONTROL --install has to be used with a log file for server output 

Dopo aver installato mongodb in C:\mongodb è sufficiente aggiungere il percorso log:

 mongod --install --logpath C:\mongodb\logs\mongo.log 

Il percorso del file di log deve esistere e deve essere un percorso di Windows assoluto. Quindi avvii il servizio MongoDB digitando:

 net start MongoDB 
 1) echo logpath=F:\mongodb\log\mongo.log > F:\mongodb\mongod.cfg 2) dbpath=F:\mongodb\data\db [add this to the next line in mongod.cfg] C:\>F:\mongodb\bin\mongod.exe –config F:\mongodb\mongod.cfg –install 

Riferimento

Questo è ciò che ha funzionato per me:

 sc.exe create MongoDB binPath= "d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\bin\mongod.config" displayname= "MongoDB 2.6 Standard" start= "auto" 

l’escaping di binPath non funzionava come descritto nella documentazione di Mongo

non riuscita:

 sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB 2.6 Standard\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto" 

Il modo più semplice è,

  1. Crea cartella C:\data\db
  2. Crea il file C:\data\db\log.txt
  3. Aprire il prompt dei comandi come “Esegui come amministratore” e assicurarsi che il percorso della directory bin mogodb sia corretto e scrivere

     C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt" 
  4. Avvia il servizio mongodb:

     net run MongoDB 

Lavorare su MongoDB 3.4 [Windows]

  • Crea dir C: / mongodb / data
  • Crea un file in C: /mongodb/mongodb.config usando questa configurazione:

     storage: engine: wiredTiger dbPath: "C:/mongodb/data" directoryPerDB: true journal: enabled: true systemLog: destination: file path: "C:/mongodb/data/mongod.log" logAppend: true timeStampFormat: iso8601-utc net: bindIp: 127.0.0.1 port: 27017 wireObjectCheck : false 
  • Per installare MongoDb come servizio, esegui questo comando in PowerShell con la potenza dell’amministratore

    mongod –config = “C: \ mongodb \ mongodb.config” –install –service

  • Apri Services.msc e cerca MongoDb, quindi avvialo

Lavorando su Mongo DB: 3.6

(1) Installa MongoDB

(2) Aggiungi bin alla variabile del percorso d’ambiente

(3) Creare c:\data\db

(4) Creare c:\data\mongod.log

(5) Esegui sotto Comando sulla cartella bin

. \ mongod.exe –install –logpath c: \ data \ mongod.log –logappend –bind_ip 12 7.0.0.1 –dbpath c: \ data \ db

(6) Per avviare mongo db come servizio

net start MongoDB

(7) Finalmente esegui mongo nella riga di comando per controllare che la shell mongo sia aperta o meno.

Per la versione 2.4.3 (versione corrente alla data di pubblicazione), creare un file di configurazione e quindi eseguire quanto segue:

C:\MongoDB\bin\mongod.exe --config C:\MongoDB\mongod.cfg --service

Attualmente (fino alla versione 2.4.4), se qualche percorso (dbpath / logpath / config) contiene spazi, il servizio non verrà avviato e mostrerà l’errore: “Il servizio non risponde alla funzione di controllo”.

Sono sulla versione 2.4.9 e uso un file di configurazione. Il servizio non si avvia finché non ho circondato il segno di uguale nel file di configurazione con gli spazi:

 dbpath = D:\Mongo data logpath = C:\mongodb\logs\mongo.log logappend = true 

Originariamente avevo:

 logpath=C:\mongodb\logs\mongo.log 

Ho anche scoperto che durante l’installazione del servizio devi utilizzare un percorso assoluto per il file di configurazione, ad esempio:

 c:\mongodb\bin\>mongodb.exe C:\mongodb\bin\mongod.conf --install 

Non essere tentato di mettere virgole invertite attorno a un dbpath con spazi. Il servizio sembrerà iniziare quando eseguirai MongoDB su net ma terminerà. Controllare i file di registro per verificare che il servizio sia realmente avviato.

Eseguire “cmd.exe” come amministratore e quindi eseguire “sc.exe” per aggiungere un nuovo servizio di Windows.

per esempio:

 sc.exe create MongoDB binPath= "c:\program files\mongodb\server\3.2\bin\mongod.exe" 

Ho scoperto che dovresti passare: dbpath, config e logfile a mongod con il flag di installazione

esempio :

 mongod --dbpath=c:\data\db --config=c:\data\db\config.cfg --logpath=c:\data\db\log.txt --install 

nota: ho percorso mongod nella variabile path mia.

Puoi controllare il servizio con:

 net start mongodb net stop mongodb 

Se si installa MongoDB 2.6.1 o versione successiva utilizzando il download MSI da un prompt dei comandi dell’amministratore , è necessario creare automaticamente una definizione di servizio.

La documentazione di MongoDB ha anche un tutorial per aiutarti a creare manualmente una definizione di servizio di Windows, se necessario.

Questa risposta è per coloro che hanno già installato mongo DB utilizzando il programma di installazione MSI.

Supponiamo che il tuo percorso predefinito sia “C: \ Programmi \ MongoDB \ Server \ 3.2 \ bin”

Passi per eseguire mongo come servizio di una finestra

  1. Aprire il prompt dei comandi come amministratore
  2. Digita cd C:\Program Files\MongoDB\Server\3.2\bin (controlla il percorso correttamente, poiché potresti avere una versione diversa installata e non 3.2).
  3. Premere Invio
  4. Digita net start MongoDB
  5. Premere Invio
  6. Premi Windows + R, digita services.msc e controlla se Mongo è in esecuzione come servizio.

Questi sono i passaggi per installare MongoDB come servizio di Windows:

  1. Creare una directory di registro, ad es. C:\MongoDB\log

  2. Creare una directory db, ad es. C:\MongoDB\db

  3. Preparare un file di configurazione con le seguenti linee

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    Inserire il file di configurazione con il nome mongod.cfg nella cartella “C: \ MongoDB \”

  4. Il seguente comando installa il servizio Windows sul tuo 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"

  5. Una volta eseguito questo comando, si otterrà il [SC] CreateService SUCCESS

  6. Esegui il seguente comando sul prompt dei comandi

    net start MongoDB

 mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary" 

Passaggio 1: aprire un prompt dei comandi di amministratore. Premere il tasto Win, digitare cmd.exe e premere Ctrl + Maiusc + Invio per eseguire il prompt dei comandi come amministratore.

Esegui i passaggi rimanenti dal prompt dei comandi dell’amministratore.

Passaggio 2: crea directory. Crea directory per il tuo database e file di registro:

 mkdir c:\data\db mkdir c:\data\log 

Passaggio 3: creare un file di configurazione. Crea un file di configurazione. Il file deve impostare systemLog.path. Includere opzioni di configurazione aggiuntive come appropriato.

Ad esempio, creare un file in C: \ Programmi \ MongoDB \ Server \ 3.6 \ mongod.cfg che specifica sia systemLog.path che storage.dbPath:

 systemLog: destination: file path: c:\data\log\mongod.log storage: dbPath: c:\data\db 

Passaggio 4: installare il servizio MongoDB. Importante: esegui tutti i seguenti comandi nel prompt dei comandi con “Privilegi amministrativi”.

Installare il servizio MongoDB avviando mongod.exe con l’opzione –install e l’opzione -config per specificare il file di configurazione creato in precedenza.

 "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.4\mongod.cfg" --install 

Per utilizzare un dbpath alternativo, specificare il percorso nel file di configurazione (ad es. C: \ mongodb \ mongod.cfg) o sulla riga di comando con l’opzione –dbpath.

Se necessario, è ansible installare servizi per più istanze di mongod.exe o mongos.exe. Installa ogni servizio con un unico –serviceName e –serviceDisplayName. Utilizzare più istanze solo quando esistono sufficienti risorse di sistema e la progettazione del sistema lo richiede.

Passaggio 5: Avvia il servizio MongoDB.

 net start MongoDB 

Passaggio 6: interrompere o rimuovere il servizio MongoDB secondo necessità. Per interrompere il servizio MongoDB usa il seguente comando:

 net stop MongoDB 

Plz prova i passaggi in Mongo DB: 3.6 e Windows 10

  1. mongod --remove
  2. mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --service
  3. mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --install
  4. net start MongoDB