문제

Windows 서비스로 실행될 수 있도록 MongoDB를 설정하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

당신이 그것을 실행하면 --install 명령 줄 스위치는 Windows 서비스로 설치됩니다.

mongod --install

읽을 가치가있을 수 있습니다 이 스레드 그래도 먼저. 관련 레지스트리 키가 작성 될 때 상대적/절대 경로에는 문제가있는 것 같습니다.

다른 팁

몇 시간 동안 시도한 후, 나는 마침내 그것을했다.

당신이 추가했는지 확인하십시오 <MONGODB_PATH>\bin 시스템 변수에 대한 디렉토리 PATH

먼저이 명령을 실행했습니다.

D:\mongodb\bin>mongod --remove

그런 다음 관리자로 명령 프롬프트를 열어서이 명령을 실행했습니다.

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

그 후 바로 명령 프롬프트 실행에서 다음과 같이

services.msc

MongoDB 서비스를 찾고 시작을 클릭하십시오.


참고 : 관리자로 명령 프롬프트를 실행하십시오.

이 작업을 수행하지 않으면 로그 파일 (위의 예에서 'D : Mongodb log.txt')이 다음과 같은 줄이 포함됩니다.

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)

그리고 당신이 비 admin 콘솔에서 서비스를 시작하려고한다면 (즉 net start MongoDB 또는 Start-Service MongoDB PowerShell)에서는 다음과 같은 응답을 얻을 수 있습니다.

System error 5 has occurred.
Access is denied.

아니면 이거:

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

뿐만 아니라 --install,

또한 필요합니다 --dbpath 그리고 --logpath

재부팅 OS 후 삭제해야합니다 "mongod.lock" 수동으로

다른 대답과 달리 이것은 ..

시스템 재부팅 / 재시작에서 서비스를 자동으로 시작하십시오

MongoDB 설치

(1) MongoDB를 설치하십시오

(2) 통로에 쓰레기통을 추가하십시오

(3) c : data db 만들기

(4) c : data log 만들기

(5) C : Data Mongod.cfg를 내용으로 작성합니다 ..

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

(6) 서비스를 만들기 위해 재부팅시 자동 시작 .. 관리자로 실행하십시오 ..

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) 서비스 시작 .. 관리자로 실행하십시오 ..

net start MongoDB

중요 : 이것이 'Mongodb 서비스가 성공적으로 시작되었다'고 말하더라도 실패 할 수 있습니다.

열린 제어판> 서비스를 두 번 확인하려면 MongoDB 서비스의 상태가 '실행 중인지'

그렇지 않은 경우 C : Data Log Mongod.log에서 로그 파일을 확인하고 수정하십시오.

(제어판> 서비스를 통해 MongoDB를 시작하지 마십시오.

(8) 마지막으로 MongoDB를 실행하여 기계를 다시 시작하면 다시 시작 중에 실행 중입니다.

당신이 그것을 죽이고 싶다면 ..

net stop MongoDB

sc.exe delete MongoDB

아래 단계는 Windows에 적용됩니다.

아래에서 실행하십시오 행정 cmd

mongod --remove

이렇게하면 기존 MongoDB 서비스가 제거됩니다 (있는 경우).

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

그것을 확인하십시오 C:\data\db 폴더가 존재합니다

오픈 서비스 :

services.msc

찾다 MongoDB -> 마우스 오른쪽 버튼을 클릭하십시오 -> 시작

MongoDB를 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 

기본 매개 변수와 함께 MongoDB를 사용하는 경우 다음 값을 사용할 수 있습니다.

  • Youripadress : 127.0.0.1 또는 Localhost
  • YourPortNumber : 27017 (기본 포트) 또는하지 말아야합니다 -포트
  • ServiceSplayName : 하나 이상의 서비스를 실행하는 경우에만 (MongoDB 1.8 이후)

이 명령에 대한 자세한 정보가 여기에 있습니다

http://www.mongodb.org/display/docs/windows+service

이 PowerShell 스크립트는 Windows 서비스로 MongoDB를 다운로드하고 설치합니다.

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

나는 모든 대답을 시도한 다음 그 길을 그랬습니다. https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition 설명합니다.

구성 파일 사용 ...

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

이것이 나를 위해 일한 유일한 것입니다. 모든 것이 절대적인 경로가되어야했기 때문에 :

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

나는 또한 그것을 실행해야했다 admin cmd

권장 방법 mongod --install 결과 오류 :

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

MongoDB를 설치 한 후 C:\mongodb LogPath를 추가하면됩니다.

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

로그 파일로가는 경로는 존재해야하며 절대적인 Windows 경로 여야합니다. 그런 다음 입력하여 MongoDB 서비스를 시작합니다.

net start MongoDB

사용을 고려하십시오

mongod --install --rest --master

몽고 DB 작업 : 3.6

(1) MongoDB를 설치하십시오

(2) 환경 경로 변수에 빈을 추가하십시오

(3) 생성 c:\data\db

(4) 생성 c:\data\mongod.log

(5) 아래 명령 ON bin 폴더

.

(6) Mongo DB를 서비스로 시작합니다

Net Start MongoDB

(7) 마침내 실행됩니다 mongo 몽고 쉘이 열려 있는지 확인하기위한 명령 줄에서.

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

참조

이것이 저에게 효과가있는 것입니다.

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

몽고 문서에 설명 된대로 빈 경로를 탈출하는 것은 실패했습니다.

실패한:

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"

가장 간단한 방법은

  1. 폴더를 만듭니다 C:\data\db
  2. 파일을 만듭니다 C:\data\db\log.txt
  3. "관리자로 실행"으로 명령 프롬프트를 열고 mogodb bin 디렉토리 경로가 올바른지 확인하고 쓰기

    C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt" 
    
  4. MongoDB 서비스 시작 :

    net run MongoDB
    

MongoDB 3.4 [Windows]에서 작업

  • dir c :/mongodb/data를 만듭니다
  • 이 구성을 사용하여 c : /mongodb/mongodb.config에서 파일을 만듭니다.

    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
    
  • MongoDB를 서비스로 설치하려면 PowerShell 에서이 명령을 관리 전원으로 실행하십시오.

    mongod ---config = "c : mongodb mongodb.config" -인스티브 - -서비스

  • services.msc를 열고 mongodb를 찾은 다음 시작하십시오.

버전 2.4.3 (게시 날짜 기준 현재 버전)의 경우 구성 파일을 작성한 다음 다음을 실행하십시오.

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

현재 (DBPATH/LOGPATH/CONFIG)에 공간이 포함 된 경우 현재 (버전 2.4.4), 서비스가 시작되지 않으며 "서비스가 제어 기능에 응답하지 않습니다".

버전 2.4.9에 있고 구성 파일을 사용하고 있습니다. 공백이있는 구성 파일의 Equals 부호를 둘러싸기 전까지는 서비스가 시작되지 않습니다.

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

원래 나는 가지고있다 :

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

또한 서비스를 설치할 때 구성 파일에 절대 경로를 사용해야한다는 것을 발견했습니다.

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

주위에 반전 된 쉼표를 넣으려는 유혹을받지 마십시오 DBPATH 공간과 함께. 실행할 때 서비스가 시작되는 것으로 보입니다 Net Start MongoDB 그러나 그것은 종료 될 것입니다. 로그 파일에서 서비스가 실제로 시작되었음을 확인하십시오.

"cmd.exe"를 관리자로 실행 한 다음 "sc.exe"를 실행하여 새 Windows 서비스를 추가하십시오.

예를 들어:

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

설치 플래그를 사용하여 DBPATH, CONFIG 및 LOGFILE을 Mongod로 통과해야한다는 것을 알았습니다.

예시 :

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

참고 : 경로 변수에 Mongod 경로가 있습니다.

다음과 같이 서비스를 제어 할 수 있습니다.

net start mongodb
net stop  mongodb 

이것들은 MongoDB를 Windows 서비스로 설치하는 단계입니다.

  1. 로그 디렉토리를 작성하십시오 C:\MongoDB\log

  2. DB 디렉토리를 작성하십시오 C:\MongoDB\db

  3. 다음 줄이있는 구성 파일을 준비하십시오

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    "c : mongodb "폴더에 mongod.cfg 이름으로 구성 파일을 배치하십시오.

  4. 다음 명령은 귀하의 Windows 서비스를 설치합니다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. 이 명령을 실행하면 [SC] CreateService SUCCESS

  6. 명령 프롬프트에서 다음 명령을 실행합니다

    net start MongoDB

MongoDB 2.6.1을 설치하거나 새로운 것을 사용하는 경우 MSI 다운로드 an 관리자 명령 프롬프트, 서비스 정의가 자동으로 작성되어야합니다.

MongoDB 문서에는 도움이되는 튜토리얼도 있습니다. 수동으로 Windows 서비스를 만듭니다 필요한 경우 정의.

이 답변은 MSI 설치 프로그램을 사용하여 이미 Mongo DB를 설치 한 사람들을위한 것입니다.

기본 설치된 위치가 "C : Program Files Mongodb Server 3.2 bin"이라고 가정 해 봅시다.

몽고를 창 서비스로 실행하는 단계

  1. 관리자로서 명령 프롬프트를 엽니 다
  2. 유형 cd C:\Program Files\MongoDB\Server\3.2\bin (3.2가 아닌 다른 버전이 설치 될 수 있으므로 경로를 올바르게 점검하십시오).
  3. 엔터 키를 치시오
  4. 유형 net start MongoDB
  5. 엔터 키를 치시오
  6. Windows + R을 누르십시오 services.msc 그리고 Mongo가 서비스로 운영되고 있는지 확인하십시오.
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
  1. Windows 서비스를 확인하십시오

    몽고에 대한 서비스가 있으면 Run Bellow Command로 제거하십시오.
    mongod --remove

  2. 벨로우 컨텐츠로 mongo.cfg 파일을 만듭니다

    시스템 로그:
    목적지 : 파일
    경로 : c : data log mongod.log
    저장:
    dbpath : c : data db

    경로 : 로그 데이터를 저장하려는 곳
    DBPATH : 데이터베이스 디렉토리

  3. 그런 다음 벨로우 명령을 실행하십시오

    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 설치 디렉토리
    구성 : .CFG 파일 주소
    DisplayName : 서비스 이름입니다

  4. 서비스를 시작하십시오

    net start MongoDB

이제 모든 일이 끝났습니다. 그것을 즐기십시오

제 경우에는 다음 내용이있는 mongd.exe 옆에 mongod.cfg를 만듭니다.

# 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:

그런 다음 두 명령을 실행하여 서비스를 작성합니다.

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>

다음은 정확하지 않습니다. 탈출 된 인용문이 필요합니다.

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>

plz Mongo DB : 3.6 & 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top