Comment utiliser MongoDB comme service Windows?

comment configurer MongoDB pour qu'il puisse fonctionner sous Windows service?

180
demandé sur Community 2010-03-13 13:49:05

27 réponses

je pense que si vous l'exécutez avec le commutateur de ligne de commande --install , il l'installe comme un service Windows.

mongod --install

Il pourrait être intéressant de lire ce fil mais d'abord. Il semble y avoir des problèmes avec les chemins relatifs/absolus lorsque la clé de registre pertinente est écrite.

100
répondu Stephen Curran 2012-05-02 14:01:54

après avoir essayé pendant plusieurs heures, je l'ai finalement fait.

assurez-vous que vous avez ajouté le répertoire <MONGODB_PATH>\bin à la variable système PATH

J'ai d'abord exécuté cette commande:

D:\mongodb\bin>mongod --remove

puis j'ai exécuté cette commande après avoir ouvert l'invite de commande en tant qu'administrateur:

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

après cela, dans l'invite de commande, exécutez:

services.msc

et recherchez le service MongoDB et cliquez sur Démarrer.


NOTE: assurez-vous d'exécuter l'invite de commande en tant qu'administrateur.

si vous ne le faites pas, votre fichier journal ('D:\mongodb\log.txt " dans l'exemple ci-dessus) contiendra des lignes comme celles-ci:

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)

et si vous essayez de démarrer le service à partir d'une console non-administrateur, (i.e. net start MongoDB ou Start-Service MongoDB en PowerShell), vous obtiendrez une réponse comme celle-ci:

System error 5 has occurred.
Access is denied.

ou ceci:

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
310
répondu hyeomans 2018-09-20 07:43:08

non seulement --install ,

également besoin de --dbpath et --logpath

et après redémarrage OS, vous devez supprimer " mongod.verrouiller "manuellement

63
répondu ruby 2013-12-16 11:28:25

contrairement à d'autres réponses ce sera ..

DÉMARRER LE SERVICE AUTOMATIQUEMENT LORS DU REDÉMARRAGE / REDÉMARRAGE DU SYSTÈME

MongoDB Install

Windows

(1) Install MongoDB

(2) Ajouter bin au chemin

(3) Créer c:\data\db

(4) Créer c:\data\log

(5) Créer c:\data\mongod.cfg avec contenu. .

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

(6) Pour créer un service démarrage automatique au redémarrage .. EXÉCUTER EN TANT QU'ADMINISTRATEUR ..

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

(7) Démarrer le service .. EXÉCUTER EN TANT QU'ADMINISTRATEUR ..

net start MongoDB

IMPORTANT: même si cela dit 'le service MongoDB a été lancé avec succès' il peut échouer

pour double vérifier Panneau de contrôle ouvert > Services, assurer le statut de la MongoDB le service est "Courant"

si ce n'est pas le cas, consultez votre fichier journal à C:\data\log\mongod.journal de la raison de l'échec et de le corriger

(ne pas démarrer MongoDB via Panneau de contrôle > Services, utiliser.. net start MongoDB)

(8) enfin, redémarrez votre machine avec MongoDB en cours d'exécution et il sera toujours en cours d'exécution à la reprise

si vous voulez le tuer ..

net stop MongoDB

sc.exe delete MongoDB
35
répondu danday74 2016-12-10 13:13:51

les étapes ci-dessous s'appliquent à Windows.

Exécuter ci-dessous dans un administrative cmd

mongod --remove

ceci supprimera le service MongoDB existant (s'il existe).

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

assurez-vous que le dossier C:\data\db existe

Ouvrir les services avec:

services.msc

Trouver MongoDB - > Clic droit - > Démarrer

21
répondu student 2017-09-26 18:34:38

vous pouvez utiliser la commande ci-dessous pour exécuter mongodb comme un service 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 

si vous utilisez mongodb avec les paramètres par défaut, vous pouvez utiliser ces valeurs :

  • yourIPadress: 127.0.0.1 or localhost
  • yourPortNumber: 27017 (port par défaut) or dont put --port
  • serviceDisplayName : uniquement si vous exécutez plus d'un service (depuis mongodb 1.8)

il y a plus d'informations sur cette commande ici

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

18
répondu chafank 2011-06-29 15:19:49

ce Script PowerShell télécharge et installe MongoDB comme service 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
14
répondu Serdar 2015-08-30 23:15:20

j'ai essayé toutes les réponses et puis je l'ai fait à la manière https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition le décrit.

utilisez un fichier de configuration...

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

14
répondu helt 2016-03-19 12:21:26

C'était la seule chose qui marchait pour moi. Comme tout devait être un chemin absolu:

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

j'ai aussi dû l'exécuter à partir de admin cmd

10
répondu Jamie Hutber 2016-09-11 14:56:06

envisager d'utiliser

mongod --install --rest --master
5
répondu jrojo 2011-01-24 17:36:43

recommandé mongod --install résultats dans l'erreur:

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

après avoir installé mongodb dans C:\mongodb vous devez simplement ajouter le logpath:

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

le chemin vers le fichier journal doit exister et il doit être un chemin absolu de Windows. Puis vous commencez le service MongoDB en tapant:

net start MongoDB
5
répondu Peter Gerhat 2015-12-03 17:27:30

Working on Mongo DB: 3.6

(1) Install MongoDB

(2) Ajouter bin à la variable de cheminement d'environnement

(3) Créer c:\data\db

(4) Créer c:\data\mongod.log

(5) Exécuter Commande ci-dessous sur bin dossier

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

(6) Pour démarrer mongo db en tant que service

NET start MongoDB

(7) enfin, lancez mongo en ligne de commande pour vérifier si le shell mongo est ouvert ou non.

5
répondu Zahid Rahman 2018-01-26 17:08:14
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

référence

4
répondu Hassan Amir Khan 2013-11-17 17:59:52

C'est ce qui a fonctionné pour moi:

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

échapper à la binPath était un échec pour moi comme décrit dans la documentation de Mongo

a Échoué:

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"
4
répondu Enkode 2014-07-24 10:05:25

la manière la plus simple est,

  1. créer un dossier C:\data\db
  2. Créer fichier C:\data\db\log.txt
  3. Ouvrez l'invite de commande "Exécuter en tant qu'Administrateur" et assurez-vous que le mogodb bin chemin d'accès est correct et écrire

    C:\Program Files\MongoDB\Server.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt" 
    
  4. Démarrer mongodb service:

    net run MongoDB
    
4
répondu Arsalan Ahmed Khan 2017-04-04 22:20:23

Working on MongoDB 3.4 [Windows]

  • créer dir C:/mongodb/data
  • créer un fichier en C:/mongodb/mongodb.config en utilisant cette configuration:

    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
    
  • pour installer MongoDb en tant que service, exécutez cette commande en powershell avec le pouvoir d'administration

    mongod -- config="C:\mongodb\mongodb.config "--install --service

  • Ouvrir La Fenêtre Services.msc et chercher MongoDb, puis démarrer

4
répondu Marco Fantasia 2017-08-22 08:06:12

pour la version 2.4.3 (version actuelle à la date de publication), Créer un fichier de configuration et ensuite exécuter ce qui suit:

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

3
répondu iisystems 2013-05-02 20:21:39

actuellement (jusqu'à la version 2.4.4), si un chemin (dbpath/logpath/config) contient des espaces, alors le service ne démarre pas, et affiche l'erreur: "le service ne répond pas à la fonction de contrôle".

3
répondu RoeeK 2013-06-23 15:48:26

je suis sur la version 2.4.9 et j'utilise un fichier de configuration. Le service ne commencerait pas tant que je n'aurais pas entouré le signe égal dans le fichier de configuration avec des espaces:

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

a l'Origine, j'avais:

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

j'ai également découvert que lors de l'installation du service que vous devez utiliser un chemin absolu pour le fichier de configuration par exemple:

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

ne soyez pas tenté de mettre des virgules inversées autour d'un dbpath avec des espaces. Le service apparaîtra commencer lorsque vous exécuterez net start MongoDB mais il se terminera. Vérifiez les fichiers journaux pour la confirmation que le service a vraiment commencé.

2
répondu CrispinH 2014-01-20 19:36:30

Exécuter "cmd.exe" en tant qu'administrateur et exécutez "sc.exe" pour ajouter un nouveau service Windows.

par exemple:

sc.exe create MongoDB binPath= "c:\program files\mongodb\server.2\bin\mongod.exe"
2
répondu Terry Lin 2016-06-30 17:51:17

j'ai trouvé que vous devriez passer : dbpath, config et logfile à mongod avec le drapeau d'installation

exemple:

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

note: j'ai mongod path dans ma variable path .

vous pouvez contrôler le service avec:

net start mongodb
net stop  mongodb 
2
répondu aeid 2016-10-13 23:09:17

si vous installez MongoDB 2.6.1 ou plus récent en utilisant le MSI download à partir d'un administrateur invite de commande , une définition de service devrait automatiquement être créé pour vous.

la documentation MongoDB a également un tutoriel pour vous aider à créer manuellement un service Windows définition si nécessaire.

1
répondu Stennie 2014-07-07 01:12:25

cette réponse est pour ceux qui ont déjà installé mongo DB en utilisant MSI installer.

disons que votre emplacement installé par défaut est "C:\Program fichiers\MongoDB\Server\3.2\bin "

Étapes à suivre pour exécuter mongo comme une fenêtre de service

  1. Ouvrez l'invite de commande en tant qu'administrateur
  2. Type cd C:\Program Files\MongoDB\Server.2\bin (vérifier le chemin correctement, car vous pouvez avoir une version différente installée, et non 3.2).
  3. Appuyez sur enter
  4. Type net start MongoDB
  5. Appuyez sur enter
  6. appuyez sur Windows + R, tapez services.msc et vérifiez si Mongo fonctionne comme un service.
1
répondu Abhas Bhoi 2017-03-07 21:12:19

ce sont les étapes pour installer MongoDB comme service Windows:

  1. créer un répertoire log, p.ex. C:\MongoDB\log

  2. créer un répertoire db, p.ex. C:\MongoDB\db

  3. préparer un fichier de configuration avec les lignes suivantes

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    placez le fichier de configuration avec nom mongod.cfg dans le dossier "C:\MongoDB\"

  4. la commande suivante installera le service Windows sur votre sc.exe create MongoDB binPath= "\"C:\MongoDB\Server.4\bin\mongod.exe\" --service --config=\"C:\MongoDB\mongod.cfg\" DisplayName= "MongoDB 3.4" start= "auto"

  5. une fois que vous exécuterez cette commande, vous obtiendrez le [SC] CreateService SUCCESS

  6. Exécuter la commande suivante à l'Invite de Commande

    net start MongoDB

1
répondu C.P. Soni 2017-03-22 00:30:29
mongod --config "C:\Program Files\MongoDB\Server.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
0
répondu Gehan Fernando 2018-03-30 01:33:24

Étape 1: ouvrez un invite de commande administrateur. Appuyez sur la touche Win, tapez cmd.exe, et appuyez sur Ctrl + Shift + Enter pour exécuter la commande Prompt en tant qu'administrateur.

exécute les étapes restantes de l'invite de commande de L'administrateur.

Étape 2: créer des répertoires. Créez des répertoires pour votre base de données et enregistrez des fichiers:

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

Étape 3: Créer un fichier de configuration. Créer un fichier de configuration. Le fichier doit définir systemLog.chemin. Inclure des options de configuration supplémentaires, s'il y a lieu.

par exemple, créer un fichier à C:\Program fichiers\MongoDB\Server\3.6\mongod.cfg qui spécifie les deux systemLog.chemin d'accès et le stockage.dbPath:

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

Etape 4: installez le service MongoDB. Important: exécutez toutes les commandes suivantes dans L'invite de commande avec "Administrative" Privilège."

installez le service MongoDB en démarrant mongod.exe avec l'option --install et la config option pour spécifier le fichier de configuration.

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

pour utiliser un chemin dbpath alternatif, spécifiez le chemin dans le fichier de configuration (par ex. C:\mongodb\mongod.cfg) ou sur la ligne de commande avec l'option --dbpath.

si nécessaire, vous pouvez installer des services pour plusieurs instances de mongod.exe ou mongos.EXE. Installez chaque service avec un unique --serviceName et --serviceDisplayName. Utilisez plusieurs instances seulement lorsque les ressources du système sont suffisantes et que la conception de votre système l'exige.

Étape 5: Démarrer la MongoDB service.

net start MongoDB

Étape 6: arrêter ou retirer le service MongoDB au besoin. Pour arrêter le service MongoDB, utilisez la commande suivante:

net stop MongoDB
0
répondu Codemaker 2018-06-29 13:54:30

Plz essayez les étapes de Mongo DB: 3.6 et 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
-1
répondu TinhNQ 2018-06-08 06:43:20