2011년 12월 12일 월요일

몽고db ( mongodb ) 1 - 기본 설치

관련 프로젝트에 mongodb 를 사용하게 되어 설치를 해보게되었습니다.
책을 읽어보니 재밌는 사상을 가지고 있어서 그런지 꽤나 즐거운 작업이었습니다.

처음에는 제 맥북에어에 설치를 해보았구요.
프로젝트에 필요한 다중화 구성으로 다시 운영서버에 설치를 해보았습니다.

재밌네요. 재밌어요. ㅋㅋㅋ


1. 설치

  1) 설치파일 다운로드 : http://www.mongodb.org/downloads
  2) Production Release 중 설치될 OS 버전에 해당하는걸 다운로드 하면 되겠습니다.
  3) 다운로드한 파일을 설치 디렉토리에 압축을 풀면 끝!!!

  제 설치 환경은 CentOS 구요. 그래서,  다소 리눅스계열에 맞춘내용입니다.

  - 윈도우는 http://ceusee.tistory.com/169  요분이 잘 정리해놓으셨던데요. 참고욤!
  - CentOS 패키지 설치는 요분 -> http://soohan.net/26


2. 그냥 하나 돌릴때 설정

  1) 설치된 디렉토리 : /usr/local/mongodb
  2) data 를 저장할 디렉토리 정의 : /data/mongodb
  3) log 를 쌓을 디렉토리 정의 : /var/log
  4) port 정의 : 20001
  5) 실행
       /usr/local/mongodb/bin/mongodb --fork --port 20001 --logpath /var/log/mongodb.log --dbpath /data/mongodb

      --fork 를 통해 백그라운드로 띄웁니다. 해당 설정을 빼면 포그라운드로 뜨겠죠.

  6) 쉘로 만들어놔야 편하것죠
   
    $ vi bin/run.sh

    /usr/local/mongodb/bin/mongodb --fork --port 20001 --logpath /var/log/mongodb.log --dbpath /data/mongodb
    $ chmod +x run.sh
    $ ./run.sh

    $ vi bin/stop.sh

    ps -ef |grep -v grep |grep mongodb.log |awk '{print $2}' |xargs kill −2
    $ chmod +x stop.sh
    $ ./stop.sh
 
    * 몽고db 의 각 프로세스는 kill 시 -2 로 하여 정상적으로 정지시켜야 합니다.

3. 접속 테스트

  $ cd /usr/local/mongodb/bin
  $ ./mongo 127.0.0.1:20001
  MongoDB shell version: 2.0.1
  connecting to: 127.0.0.1:20001/test
  >  Hello MongoDB

  Tue Dec 13 09:46:32 SyntaxError: missing ; before statement (shell):1
  
  개발자 습관이라.. 이사람들 센스가 없네요. 이정도는 예측이 가능했을텐데.
  그냥 Hi 머 이렇게라도 리턴하길 기대했네요.

  > db.test.insert({"Hello":"MongoDB"});
  > db.test.find();
  { "_id" : ObjectId("4ee6a1005cb635458381ee7f"), "Hello" : "MongoDB" }
  > 

  일단 이렇게라도 테스트를 해보았습니다.
  기본적으로 접속시 database를 지정하지 않으면 test 에 붙습니다. ^^