Pregunta

¿Cómo puedo configurar MongoDB para que pueda ejecutarse como un servicio de Windows?

¿Fue útil?

Solución

Creo que si se ejecuta con el modificador de línea de comandos --install, se instala como un servicio de Windows.

mongod --install

Puede ser que sea digno de la lectura este hilo primera aunque. Parece que hay algunos problemas con las rutas relativas / absolutas cuando la clave de registro correspondiente se escribe.

Otros consejos

Después de probar durante varias horas, por fin hice.

Asegúrese de que ha agregado el directorio <MONGODB_PATH>\bin al sistema PATH variables

Primero ejecuta este comando:

D:\mongodb\bin>mongod --remove

Luego ejecuta este comando después de abrir el símbolo del sistema como administrador:

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

Después de que allí mismo, en el símbolo del sistema ejecute:

services.msc

Y buscar el servicio MongoDB y haga clic en inicio.


NOTA:. Asegúrese de ejecutar símbolo del sistema como administrador

Si no lo hace, el archivo de registro ( 'D: \ mongodb \ log.txt' en el ejemplo anterior) contendrá líneas como las siguientes:

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)

y si intenta iniciar el servicio desde una consola que no es administrador, (es decir, net start MongoDB o Start-Service MongoDB en PowerShell), obtendrá una respuesta como esta:

System error 5 has occurred.
Access is denied.

o esto:

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

no sólo --install,

También es necesario --dbpath y --logpath

y después de iniciar el sistema operativo necesita eliminar "mongod.lock " manualmente

A diferencia de otras respuestas, esta ...

INICIAR EL SERVICIO AUTOMÁTICAMENTE AL REINICIAR/REINICIAR EL SISTEMA

Instalación de MongoDB

ventanas

(1) Instalar MongoDB

(2) Agregar contenedor a la ruta

(3) Crear c:\data\db

(4) Crear c:\data\log

(5) Cree c:\data\mongod.cfg con contenido ..

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

(6) Crear un servicio que inicio automático al reiniciar .. EJECUTAR COMO ADMINISTRADOR ..

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) Iniciar el servicio..EJECUTAR COMO ADMINISTRADOR..

net start MongoDB

IMPORTANTE:Incluso si dice "El servicio MongoDB se inició correctamente", puede fallar.

Para volver a verificar, abra Panel de control> Servicios, asegúrese de que el estado del servicio MongoDB sea 'En ejecución'

De lo contrario, verifique su archivo de registro en C:\data\log\mongod.log para conocer el motivo del error y solucionarlo.

(No inicie MongoDB a través del Panel de control> Servicios, use ..inicio neto MongoDB)

(8) Finalmente, reinicie su máquina con MongoDB ejecutándose y seguirá ejecutándose al reiniciar.

Si alguna vez quieres matarlo...

net stop MongoDB

sc.exe delete MongoDB
  

Los pasos siguientes se aplican a Windows.

Ejecutar a continuación en un administrativa cmd

mongod --remove

Esto eliminará el servicio MongoDB existente (si existe).

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

Asegúrese de que existe la carpeta C:\data\db

Los servicios abiertos con:

services.msc

Para MongoDB -> clic derecho -> Inicio

Puede utilizar el siguiente comando para ejecutar mongodb como un servicio de 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 utiliza mongodb con parámetros por defecto, puede utilizar estos valores:

  • yourIPadress: 127.0.0.1 localhost o
  • yourPortNumber: 27017 (puerto por defecto) o No ponga --port
  • serviceDisplayName: sólo si se ejecuta más de un servicio (ya que mongodb 1,8)

Hay más información sobre este comando aquí

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

Este script PowerShell descarga e instala MongoDB como servicio de 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

He intentado todas las respuestas y luego hizo de la manera https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community- edición describe.

Utilice un archivo de configuración ...

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

Este fue el único que trabajó para mí. Como todo lo que tenía que ser una ruta absoluta:

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

También tenía que ejecutarlo desde admin cmd

La forma mongod --install resultados recomendados en error:

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

Después de haber instalado en mongodb C:\mongodb que necesita para simplemente añadir el logpath:

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

La ruta de acceso al archivo de registro debe existir y que debe ser una ruta absoluta de Windows. A continuación, se inicia el servicio MongoDB escribiendo:

net start MongoDB

Considere el uso

mongod --install --rest --master

Trabajo en Mongo DB: 3.6

(1) Instalar MongoDB

(2) Añadir bin a la variable de ruta del entorno

(3) Crear c:\data\db

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

(5) discurren bajo comando en la carpeta bin

  

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

(6) Para iniciar db mongo como el servicio

  

net start MongoDB

(7) Por último ejecutar mongo en línea de comandos para comprobar mongo shell está abierto o no.

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

Referencia

Esto es lo que funcionó para mí:

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

escapar de la binPath estaba fallando para mí como se describe en la documentación Mongo

Error:

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"

La forma más sencilla es,

  1. Crear carpeta C:\data\db
  2. Crea un archivo C:\data\db\log.txt
  3. Abra el símbolo del sistema como "Ejecutar como administrador" y asegúrese de que la ruta del directorio bin de mogodb sea correcta y escriba

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

    net run MongoDB
    

Trabajo en MongoDB 3.4 [Windows]

  • Crear directorio C: / / mongodb de datos
  • Crea un archivo en C: /mongodb/mongodb.config utilizando esta configuración:

    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
    
  • Para instalar MongoDB como un servicio, ejecutar este comando en PowerShell con el poder de administración

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

  • Abrir Services.msc y buscar MongoDB, a continuación, iniciarlo

Para la versión 2.4.3 (versión vigente a partir de la fecha de la fijación), cree un archivo de configuración y luego ejecutar el siguiente:

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

En la actualidad (hasta la versión 2.4.4), si cualquier camino (dbpath / logpath / config) contiene espacios, entonces el servicio no se iniciará y mostrará el error: "El servicio no está respondiendo a la función de control" .

Estoy en la versión 2.4.9 y el uso de un archivo de configuración. El servicio no comenzaría hasta que rodearon el signo igual en el archivo de configuración con espacios:

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

Originalmente, tenía:

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

También descubrió que cuando se instala el servicio que usted tiene que utilizar una ruta absoluta para el archivo de configuración, por ejemplo:

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

No tener la tentación de poner comillas alrededor de un dbpath con espacios. El servicio aparecerá al iniciar cuando se ejecuta net start MongoDB , pero se dará por terminada. Compruebe los archivos de registro para la confirmación de que el servicio realmente ha comenzado.

Ejecutar "cmd.exe" como administrador y ejecute "sc.exe" para añadir un nuevo servicio de Windows.

por ejemplo:

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

He descubierto que debe pasar: dbpath, configuración y archivo de registro a mongod con la bandera instalar

ejemplo:

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

Nota: He mongod camino en mi variable de ruta.

Puede controlar el servicio con:

net start mongodb
net stop  mongodb 

Estos son los pasos para instalar MongoDB como servicio de Windows:

  1. Crear un directorio de registro, por ejemplo, C:\MongoDB\log

  2. Crear un directorio db, por ejemplo, C:\MongoDB\db

  3. Preparar un archivo de configuración con líneas siguientes

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    Coloque el archivo de configuración con el nombre mongod.cfg en la carpeta "C: \ MongoDB \"

  4. Después de comando instalará el servicio de Windows en su 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 vez que se ejecuta este comando, obtendrá la [SC] CreateService SUCCESS

  6. Ejecutar comando siguiente en el símbolo del sistema

    net start MongoDB

Si instala MongoDB 2.6.1 y posteriores utilizando el MSI descargar de un Administrador de comandos Prompt nofollow, una definición de servicio automáticamente debe ser creado para usted.

La documentación MongoDB también tiene un tutorial para ayudarle a Crear manualmente un servicio de Windows definición si es necesario.

Esta respuesta es para aquellos que ya han instalado Mongo DB usando instalador MSI.

Digamos que su defecto instalado ubicación es "C: \ Archivos de programa \ MongoDB \ Server \ 3.2 \ bin"

Pasos para utilizar mongo como un servicio de la ventana

  1. Abierto de comandos como administrador
  2. Tipo cd C:\Program Files\MongoDB\Server\3.2\bin (marque ruta adecuada, ya que puede tener una versión diferente instalada, y no 3,2).
  3. Pulse Intro
  4. Tipo net start MongoDB
  5. Pulse Intro
  6. Prensa de Windows + R, escribe services.msc y comprobar si Mongo se ejecuta como un servicio.
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
  1. Servicios en las ventanas de verificación

    Si usted tiene servicio de mongo eliminarlo por instrucción ejecutada abajo
    mongod --remove

  2. crear el archivo con el contenido mongo.cfg abajo

    systemlog:
    destino: archivo
    ruta: C: \ data \ log \ mongod.log
    almacenamiento:
    dbPath: c: \ data \ db

    ruta de acceso: en la que desea almacenar datas más
    log dbPath: el directorio de la base de datos

  3. a continuación, ejecutar comandos abajo

    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 directorio de instalación
    config: Dirección archivo .cfg
    DisplayName: Su nombre Servicio

  4. iniciar el servicio

    net start MongoDB

Ahora, cada se hacen las cosas. disfrutar de ese

En mi caso, Crío mongod.cfg al lado del mongd.exe con el siguiente contenido.

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\apps\MongoDB\Server\4.0\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\apps\MongoDB\Server\4.0\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

Luego ejecutar el comando dos para crear el servicio.

D:\apps\MongoDB\Server\4.0\bin>mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg --install

D:\apps\MongoDB\Server\4.0\bin>net stop mongodb
The MongoDB service is stopping.
The MongoDB service was stopped successfully.


D:\apps\MongoDB\Server\4.0\bin>mongod --remove
2019-04-10T09:39:29.305+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-04-10T09:39:29.309+0800 I CONTROL  [main] Trying to remove Windows service 'MongoDB'
2019-04-10T09:39:29.310+0800 I CONTROL  [main] Service 'MongoDB' removed

D:\apps\MongoDB\Server\4.0\bin>
D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "\"D:\apps\MongoDB\Server\4.0\bin\mongod.exe\" --service --config=\"D:\apps\MongoDB\Server\4.0\bin\mongod.cfg\""
[SC] CreateService SUCCESS

D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The MongoDB service is starting..
The MongoDB service was started successfully.

D:\apps\MongoDB\Server\4.0\bin>

no son correctos, se requiere la siguiente nota las comillas escapado.

D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "D:\apps\MongoDB\Server\4.0\bin\mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg"
[SC] CreateService SUCCESS

D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The service is not responding to the control function.

More help is available by typing NET HELPMSG 2186.


D:\apps\MongoDB\Server\4.0\bin>

Los PLZ pruebe los pasos de Mongo DB: 3.6 y 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top