Windows 서비스로 실행할 수 있도록 MongoDB를 어떻게 설정합니까?
Windows 서비스로 실행할 수 있도록 MongoDB를 어떻게 설정합니까?
답변:
난 당신이 그것을 실행하면 생각 --install
명령 줄 스위치는 Windows 서비스로 설치합니다.
mongod --install
그래도이 스레드를 먼저 읽어 보는 것이 좋습니다. 관련 레지스트리 키가 작성 될 때 상대 / 절대 경로에 문제가있는 것 같습니다.
net start MongoDB
몇 시간 동안 노력한 끝에 마침내 해냈습니다.
<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)
가 아닌 관리 콘솔에서 서비스 (즉, 시작하려고 경우 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
net start MongoDB
을 사용 하는 대신 시작할 수도 있습니다 services.msc
. ( mongod
나에게 것을 권장.)
뿐만 아니라 --install
,
또한 필요 --dbpath
하고--logpath
OS 재부팅 후 "mongod.lock "을 수동으로 삭제해야합니다.
mongod.lock
버그가 수정되었습니다.Windows 8 x64
다른 답변과 달리 이것은 ..
시스템 재부트 / 재시작시 자동으로 서비스 시작
(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) 재부트시 자동 시작되는 서비스를 생성하려면 .. RUN AS ADMIN ..
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) 서비스 시작 .. RUN AS ADMIN ..
net start MongoDB
중요 : 'MongoDB 서비스가 성공적으로 시작되었습니다'라고해도 실패 할 수 있습니다
제어판> 서비스를 다시 확인하려면 MongoDB 서비스의 상태가 '실행 중'인지 확인하십시오.
그렇지 않은 경우 C : \ data \ log \ mongod.log의 로그 파일에서 실패 이유를 확인하고 수정하십시오.
(제어판> 서비스를 통해 MongoDB를 시작하지 마십시오. .. net start MongoDB를 사용하십시오)
(8) 마지막으로 MongoDB를 실행하여 컴퓨터를 다시 시작하면 다시 시작해도 계속 실행됩니다.
당신이 그것을 죽이고 싶은 경우에 ..
net stop MongoDB
sc.exe delete MongoDB
3.4
해야 3.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"
아래 단계는 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를 기본 매개 변수와 함께 사용하면 다음 값을 사용할 수 있습니다.
이 명령에 대한 자세한 정보는 여기에 있습니다
나는 모든 대답을 시도한 다음 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
이 PowerShell 스크립트는 MongoDB를 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
권장되는 방법 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
Mongo DB 작업 : 3.6
(1) MongoDB 설치
(2) 환경 경로 변수에 빈 추가
(3) 작성 c:\data\db
(4) 작성 c:\data\mongod.log
(5) bin
폴더에서 Command 실행
. \ mongod.exe --install --logpath c : \ data \ mongod.log --logappend --bind_ip 12 7.0.0.1 --dbpath c : \ data \ db
(6) mongo db를 서비스로 시작하려면
인터넷 스타트 MongoDB
(7) 마지막으로 mongo
mongo shell이 열려 있는지 확인하기 위해 명령 줄에서 실행하십시오.
이것이 나를 위해 일한 것입니다.
sc.exe create MongoDB binPath= "d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\bin\mongod.config" displayname= "MongoDB 2.6 Standard" start= "auto"
Mongo 설명서에 설명 된 것처럼 binPath를 탈출하지 못했습니다.
실패한:
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"
가장 간단한 방법은
C:\data\db
C:\data\db\log.txt
"관리자 권한으로 실행"으로 명령 프롬프트를 열고 mogodb bin 디렉토리 경로가 올바른지 확인하십시오.
C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt"
mongodb 서비스를 시작하십시오.
net run MongoDB
MongoDB 3.4에서 작업하기 [Windows]
이 구성을 사용하여 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를 서비스로 설치하려면 admin power를 사용하여 powershell에서이 명령을 실행하십시오.
mongod --config = "C : \ mongodb \ mongodb.config"--install --service
Services.msc를 열고 MongoDb를 찾은 다음 시작하십시오.
버전 2.4.9에 있으며 구성 파일을 사용하고 있습니다. 구성 파일에서 등호를 공백으로 묶어야 서비스가 시작됩니다.
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 를 실행하면 서비스가 시작된 것처럼 보이지만 종료됩니다. 서비스가 실제로 시작되었음을 확인하려면 로그 파일을 확인하십시오.
다음은 MongoDB를 Windows 서비스로 설치하는 단계입니다.
예를 들어 로그 디렉토리를 만듭니다. C:\MongoDB\log
예를 들어 db 디렉토리를 만듭니다. C:\MongoDB\db
다음 줄로 구성 파일 준비
dbpath=C:\MongoDB\db
logpath=C:\MongoDB\log
이름이 mongod.cfg 인 구성 파일을 "C : \ MongoDB \"폴더에 배치하십시오.
다음 명령은 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"
이 명령을 실행하면 [SC] CreateService SUCCESS
명령 프롬프트에서 다음 명령을 실행하십시오.
net start MongoDB
관리자 명령 프롬프트 에서 MSI 다운로드 를 사용하여 MongoDB 2.6.1 이상을 설치 하는 경우 서비스 정의가 자동으로 작성되어야합니다.
MongoDB 문서에는 필요한 경우 Windows 서비스 정의 를 수동으로 작성하는 데 도움이되는 자습서도 있습니다 .
이 답변은 MSI 설치 프로그램을 사용하여 mongo DB를 이미 설치 한 사용자를위한 것입니다.
기본 설치 위치가 "C : \ Program Files \ MongoDB \ Server \ 3.2 \ bin"이라고 가정합니다.
몽고를 창 서비스로 실행하는 단계
cd C:\Program Files\MongoDB\Server\3.2\bin
(3.2가 아닌 다른 버전이 설치되어있을 수 있으므로 경로를 올바르게 확인하십시오).net start MongoDB
services.msc
Mongo가 서비스로 실행 중인지 입력 하고 확인하십시오.System error 2 has occurred. The system cannot find the file specified.
mongod, mongodb도 시도했습니다.
윈도우 서비스 확인
mongo 서비스가있는 경우 bellow 명령을 실행하여 제거하십시오.
mongod --remove
다음 내용으로 mongo.cfg 파일 만들기
systemLog :
대상 : 파일
경로 : c : \ data \ log \ mongod.log
스토리지 :
dbPath : c : \ data \ db
경로 : 로그 데이터를 저장하려는 위치
dbPath : 데이터베이스 디렉토리
그런 다음 벨로우즈 명령을 실행하십시오.
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 : 서비스 이름
서비스를 시작하다
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의 단계를 시도합니다
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