programing

Windows 서비스로 MongoDB를 실행하려면 어떻게 해야 하나요?

batch 2023. 3. 2. 22:06
반응형

Windows 서비스로 MongoDB를 실행하려면 어떻게 해야 하나요?

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

몇 시간 동안 노력한 끝에 마침내 해냈다.

다음 사항을 확인합니다.

  1. .<MONGODB_PATH>\bin to variable, " " directory directory 。PATH
  2. 관리자 권한으로 명령 프롬프트 실행

순서:

순서 1: 다음 명령을 실행합니다.

D:\mongodb\bin>mongod --remove

스텝 2: 관리자 권한으로 명령 프롬프트를 연 후 다음 명령을 수행합니다.

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

「 」를 할 수도 있습니다.--serviceName MongoDB위의 명령어 뒤에 있습니다.

이상입니다!


After that right there in the command prompt execute:
services.msc

// OR

net start MongoDB

그리고 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 MongoDBPowerShell)을 사용합니다.

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

--installWindows 를 사용합니다.

mongod --install

하지만 이 을 먼저 읽을 가치가 있을 수도 있습니다.관련 레지스트리 키를 쓸 때 상대/절대 경로에 문제가 있는 것 같습니다.

not뿐만 --install,

필요하다--dbpath ★★★★★★★★★★★★★★★★★」--logpath

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

다른 답변과 달리 이 답변은..

시스템 재부팅/재기동 시 자동으로 서비스 시작

MongoDB 설치

창문들

(1) MongoDB 설치

(2) 경로에 bin 추가

(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) reboot 시 자동으로 시작되는 서비스를 작성한다.관리자로서 실행 ..

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

중요: 'The MongoDB service was successfully started'라고 표시되어 있어도 실패할 수 있습니다.

[컨트롤 패널]> [서비스]를 더블 체크하려면 MongoDB 서비스 상태가 [실행 중]인 것을 확인합니다.

그렇지 않은 경우 C:\data\log\mongod.log에서 로그 파일을 확인하여 오류 원인을 해결합니다.

([컨트롤 패널]> [서비스]에서 MongoDB를 시작하지 말고 를 사용합니다.넷 스타트 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를 윈도 서비스로 실행할 수 있습니다.

"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를 사용하는 경우 다음 값을 사용할 수 있습니다.

  • your IPaddress : 127.0.0.1 또는 localhost
  • yourPortNumber : 27017(기본 포트) 또는 don't put --port
  • serviceDisplayName : 여러 서비스를 실행하는 경우에만(mongodb 1.8 이후)

이 명령어에 대한 자세한 내용은 여기를 참조하십시오.

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

모든 답변을 시도하고 https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/ #configure-a-windows-service-for-mongodb-http-http://https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/의 설명대로 실행했습니다.

구성 파일 사용...

"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

나한테는 이것밖에 효과가 없었어.모든 것이 절대적인 경로여야 했기 때문에:

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

한 후C:\mongodb로그 경로를 추가하기만 하면 됩니다.

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

로그 파일에 대한 경로가 존재해야 하며 절대 윈도우즈 경로여야 합니다.그런 다음 다음과 같이 입력하여 MongoDB 서비스를 시작합니다.

net start MongoDB

Mongo DB에서의 작업: 3.6

(1) MongoDB 설치

(2) 환경 경로 변수에 bin 추가

(3) (3) c:\data\db

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

하다 (5) 음음 ( ( ( ( ( ( ( 、bin 표시

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

(6) mongo db as service 시작

넷 스타트 MongoDB

) run (7) ★★★★★★★★★★★★★★★★★★」mongo이 열려 있는지 .mongo o in in in 、 mongo in is in is in in。

사용을 검토하다

mongod --install --rest --master

버전 2.4.3(게시일 현재 버전)의 경우 컨피규레이션파일을 작성한 후 다음 작업을 수행합니다.

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

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"

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"

가장 간단한 방법은

  1. 만들기 ★★★★★★★C:\data\db
  2. " " " 를 만듭니다.C:\data\db\log.txt
  3. 명령 프롬프트를 "Run as Administrator"로 열고 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" --install --service

  • Services.msc를 열고 MongoDb를 찾은 후 시작합니다.

현재(버전 2.4.4까지) 경로 중 하나(dbpath/logpath/config)에 공백이 포함되어 있으면 서비스가 시작되지 않고 "The service is not response to control function"이라는 오류가 표시됩니다.

버전 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를 실행하면 서비스가 시작되는 것처럼 보이지만 종료됩니다.로그 파일에서 서비스가 실제로 시작되었는지 확인합니다.

"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

    mongod.cfg라는 이름의 컨피규레이션파일을 폴더 "C:\MongoDB\"

  4. 다음 명령어는 Windows Service를 에 설치합니다.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

관리자 명령 프롬프트에서 MSI 다운로드를 사용하여 MongoDB 2.6.1 이후를 설치하는 경우 서비스 정의가 자동으로 생성됩니다.

MongoDB 문서에는 필요에 따라 수동으로 Windows 서비스 정의를 작성하는 데 도움이 되는 튜토리얼도 포함되어 있습니다.

MSI instra를 사용하여 mongo DB를 이미 설치한 사용자를 위한 답변입니다.

기본 설치 위치가 "C:\Program Files\MongoDB\Server\3.2\bin"

mongo를 윈도 서비스로 실행하는 단계

  1. 관리자 권한으로 명령 프롬프트 열기
  2. 「」라고 입력합니다.cd C:\Program Files\MongoDB\Server\3.2\bin(경로를 올바르게 확인합니다.3.2 이외의 버전이 인스톨 되어 있는 경우가 있습니다).
  3. Enter 키를 누릅니다.
  4. 「」라고 입력합니다.net start MongoDB
  5. Enter 키를 누릅니다.
  6. 을 + R 을 입력합니다.services.msc몽고몽고

Windows 박스에서 설정 파일을 편집하고 나서, MongoDB(v4.4) 서비스를 재기동할 필요가 있었습니다.제가 한 일은 다음과 같습니다.

  1. 를 누릅니다.Win+R[을 지정하여 실행]을
  2. services.msc 라고 입력하고 Enter 키를 누릅니다.
  3. "MongoDB"를 검색하십시오. "m"을 눌러 "MongoDB"로 이동할 수 있습니다.
  4. 오른쪽 클릭 - "재시작"을 선택합니다.

바로 그거야!

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

    에 대한 명령어 mongo를 합니다.
    mongod --remove

  2. 을 가진 mongo.

    다음 중 하나:
    file(): ""
    파일: c:\data\log\mongod. 표시
    ★★★★★★★★★★★★★★★★★★:
    dbPath: c:\data\db

    :: " " " " " "
    디렉토리 dbPath: "DbPath"

  3. 그런 다음 bellow 명령을 실행합니다.

    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 " " "
    . config: .cfg "설정"
    : 서비스명 ★★★★★★★★★★★★★★★★★★★★★★★★★」


  4. net start MongoDB

이제 모든 것이 끝났다. 그것을 즐겨라.

제 경우 mongd 옆에 mongod.cfg를 만듭니다.다음 내용으로 exe를 작성하십시오.

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

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

언급URL : https://stackoverflow.com/questions/2438055/how-can-i-run-mongodb-as-a-windows-service

반응형