Linux / OS X에서 mongod 서비스를 시작하는 올바른 방법은 무엇입니까?


136

mongodb를 설치하고 실행하고 작업하고 간단한 DB 읽기 / 쓰기 유형 작업을 수행 할 수있었습니다. 이제 mongod를 서비스로 실행하도록 Mac을 설정하려고합니다.

다음에 대한 응답으로 "명령을 찾을 수 없습니다"가 표시됩니다.

 init mongod start

님의 질문에 답변

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

그리고 내가 시도하면 :

~: launchctl start mongod
launchctl start error: No such process

그래서 나는 분명히 조금 혼란스러워합니다. 다음 단계는 작동 할 때까지 임의의 문자를 입력하는 것 같습니다. 명령 수행 작업은 다음과 같습니다 mongod --quiet &나는 확실히, 어쩌면 당신이하고있는 방법은 그것을 할 예정이다 아니에요? 어쩌면 나는 '자동 모드' > /logs/mongo.log를 벗어 명령 줄의 끝에 추가 해야합니까?

Linux 서버에서 동일한 작업을 수행하기 위해 Mac에서 개발 환경을 구축하고 있습니다. Bash 명령을 잘 모르겠습니다. 대답을 풀려고 시도하는 다른 모든 검색은 Windows 시스템에 대한 조언을 제공합니다.

아마도 누군가 리눅스 버전의 명령을 알고 있습니까?

매우 감사합니다


Mac OS에서 동일한 지 확실하지 않은 이 링크 ( stackoverflow.com/questions/2438055/… )를 사용하여 Windows에서 수행했습니다 .
Scott

고마워 Scott, 아니, 나는 또한 스레드에서 물건을보고 시도했다error command line: unknown option install
Alex C

답변:


129

최근 mongodb 커뮤니티 에디션 빌드를 사용하면 간단합니다.

brew를 통해 설치하면 정확히 무엇을해야하는지 알려줍니다. 새로운 시작 제어 파일을 만들 필요가 없습니다.

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
  ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M

합니까 mongod윈도우 서버를 통해 정보를 표시 할 필요가; 시작 에이전트 여야 합니까, 아니면 시작 데몬 으로 만들기에 충분 합니까?
Marius Butuc

23
OSX 사용자를 대상으로 : homebrew를 통해 mongo를 설치했으며 포함되어 /usr/local/Cellar/mongodb/2.4.5-x86_64/homebrew.mxcl.mongodb.plist있으며 설치에 맞게 올바르게 구성되었습니다. homebrew.mxcl.mongodb.plistLaunchAgents로 복사 한 후 나머지 지시 사항 (대신 homebrew.mxcl.mongodb사용 org.mongodb.mongod) 을 따르면 효과적입니다.
jacob

5
Mario Alemi의 답변을 아래로 스크롤하는 것이 좋습니다.)
octavian

/Library/LaunchAgents/homebrew.mxcl.mongodb.plist : 해당 파일 또는 디렉토리가 없습니다
user269867

우선 : MongoDB에는 커뮤니티 에디션을 설치하는 데 사용해야하는 자체 공식 Homebrew Tap이 있습니다. $ brew tap mongodb/brew을 사용하여 설치하십시오 $ brew install mongodb-community. 서비스에 관해서는 $ brew services Homebrew 를 실행하면 이제 Tap이 포함되어 있으므로 아무것도 할 필요가 없습니다. 또한 시작 서비스에 대해 (프로덕션 서버가 아닌 dev 서버로) 로그인 한 후 MongoDB가 필요 ~/Library/LaunchAgents/하면 시스템 /Library/LaunchDeamons이 아닌 디렉토리를 사용하십시오 . 후자는 루트 권한이 필요합니다.
cseder

152

편집 : 이제 brew services start mongodbGergo의 답변과 같이을 사용해야합니다 ...

mongodb를 설치 / 업그레이드하면 brew가 수행 할 작업을 알려줍니다.

로그인시 mongodb 시작을 시작하려면 다음을 수행하십시오.

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

그런 다음 mongodb를로드하십시오.

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

또는 launchctl을 원하지 않거나 필요로하지 않으면 다음을 실행할 수 있습니다.

    mongod

완벽하게 작동합니다.


나는 그 지시를 보지 못했다! 이것은 Mac OSX 10.8.4에서 완벽하게 작동합니다 .Brew와 함께 설치 한 것 같습니다. 수락 된 답변에 대한 야곱의 의견은 내가 그것을 시도했을 때 알 수없는 파일을 가리 켰습니다.
매트 플레처

5
나는 받아 들여진 대답 보다이 솔루션을 선호합니다. 위의 답변에 plist를 복사하면 mongo를 업데이트 할 때 상황이 조금 더 어려워집니다. 필요에 따라 경로를 업데이트해야합니다. 그러나 homebrew의 조언에 따라 symlink를 사용하면이를 처리 할 수 ​​있습니다. 이 접근 방식과 위의 답변에서 나오는 별칭 (org.mongodb.mongod를 homebrew.mxcl.mongodb로 대체)을 사용했으며 상황이 훌륭합니다
verboze

2
이 솔루션을 사용해 보았고 "사라진"데이터베이스를 사용했습니다! 이것이 이유라고 생각합니다. homebrew가 제공하는 기본 plist는 mongod 구성을 /usr/local/etc/mongod.conf에 저장합니다. 이 구성은 dbpath가 기본 / data / db 대신 / usr / local / var / mongodb가되도록 지정합니다. 다른 사람에게 발생할 경우이 점에 유의하십시오. 데이터베이스가 다시 나타나게하려면 심볼릭 링크를 언로드하고 제거해야했습니다.
ttemple

1
참고 : launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist내부에 이상한 tmux
점이

@이 모든 것을 취소하는 방법에 대한 아이디어가 있습니까?
Timeless

73

Homebrew의 services탭은 공식을 launchctl관리자 와 통합합니다 . 쉽게 추가 할 수 있습니다 :

brew tap homebrew/services

그런 다음이 명령으로 MongoDB를 시작할 수 있습니다 (부팅시 mongodb도 시작됨).

brew services start mongodb

당신은 또한 사용할 수 있습니다 stop또는 restart:

brew services stop mongodb
brew services restart mongodb

4
답변은 마음에 들었지만, 나중에 brew가 서비스를 제거 할 것이라는 것을 알았습니다. 양조 서비스 시작 mongodb 경고 : 양조 서비스는 지원되지 않으며 곧 제거 될 예정입니다.
smile2day

1
슬픈 소식입니다. 현재는 더 이상 사용되지 않으며 언젠가는 제거되지만 여전히 작동합니다. 바라건대 누군가가 그것을 탭으로 유지하기 위해 자원 봉사 할 것입니다. 답변이 삭제되거나 탭을 사용할 수있게되면 답변을 업데이트하겠습니다.
Gergo Erdosi


Error: Unknown command: services내가이 방법을 시도했을 때 보았 으므로 이미 제거되었습니다 .
iplus26

1
이 답변에 감사드립니다. @ iplus26 여전히 나를 위해 작동
필립 oghenerobo 림 바로 건


3

Homebrew를 통해 MongoDB를 설치했습니다. 설치 콘솔이 끝나면 다음과 같이 출력이 표시됩니다.

mongodb를 시작하려면 다음을 수행하십시오.

brew services start mongodb

또는 백그라운드 서비스를 원하지 않거나 필요로하지 않으면 다음을 실행할 수 있습니다.

mongod --config /usr/local/etc/mongod.conf

그래서, BREW 서비스는 MongoDB를 시작하는 저를위한 서비스로 MongoDB를 실행하는 관리를,.


2

나는 Mac 쪽을 약간 둘러 보았습니다. 당신은 설치 프로그램을 사용할 수 있습니다 여기 가 당신이 자동으로 맥 OS에서 실행하는 모든 설정을하는 것처럼 보이는. 유일한 단점은 꽤 오래된 몽고 버전을 사용하고있는 것 같습니다.

이 링크는 여기 또한 몽고가 자동으로 Mac에서 백그라운드 서비스로 실행 얻을 수있는 설정을 설명합니다.


1
더 이상 링크를 사용할 수 없습니다.
Hoppo

1
정확히 같은지 확실하지 않지만 동일한 개념을 설명하는 기사로 이동하는 고정 링크
Scott

0

첫 번째 단계

리눅스 시스템에 mongodb를 설치하십시오.

apt 설치 mongodb 클라이언트 및 & apt 설치 mongodb 서버

두 번째 단계는

원하는 경우 시스템 기본 경로 대신 데이터베이스 경로를 변경하십시오.
다음 단계를 수행하고 직접 변경하십시오.

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

그리고 Windows 시스템에서 --install 플래그를 넣는 것과 같이하십시오. 당신은 성공적인 메시지를 받아야합니다.

친애하는...


0

MongoDB 4.0이 설치된 macOS 10.13.6

mongo 쉘에서 localhost에 연결할 수 없습니다

나는 MongoDB를 다음과 같이 시작했다.

mongod --config /usr/local/etc/mongod.conf

'mongod.conf'에 다음이 있음을 발견했습니다.

bindIp : 127.0.0.1

JavaScript 연결을 localhost 에서 127.0.0.1로 변경 하면 정상적으로 작동합니다.

MongoDB Compass에서도 마찬가지입니다.



0

brew를 통해 mongodb를 설치 한 후 실행하여 실행하십시오.

mongod --dbpath /usr/local/var/mongodb

2
이것은 5 년 전에 제공된 @ Rejeev-Divakaran과 같은 대답입니다. 새로운 답변을 제출하기 전에 기존 답변을 확인하십시오. 동일한 접근 방식을 제안하는 방법이 존재하는 경우 적절한 조치를 취해야합니다. 즉, 명성 포인트 4 점을 더 얻은 후 얻게되는 특권입니다.
Jeremy Caney

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.