Skip to content

이번 포스팅에서는 MongoDB를 시작하는 것에 대해 알아보도록 하겠습니다.

이전의 내용들을 이해하거나 실습을 통해 학습하였다면 이미 시작하는 방법을 알고있는 것이라 할 수 있지만 이번 포스팅에서는 시작과 관련된 여러가지 옵션 또는 셋팅에 대해 좀 더 자세히 다룰 것입니다.


커맨드라인에서 시작하기

커맨드라인 툴(Mac OS: Terminal, Windows: cmd)에서 MongoDB를 시작할 때 mongod를 실행합니다.

이 명령어 실행 시 자주 사용되는 옵션에 대하여 정리하였습니다:

  • --dbpath

    데이터가 저장될 디렉터리를 지정한다. 만약 이 옵션이 생략되면 디폴트로 Linux에서는 /dada/db, Windows에서는 C:\Program Files\MongoDB\Server\{VERSION}\data\로 지정됩니다.

    mongodb --dbpath [your_data_path]

  • --port

    만약 하나의 머쉰에서 여러 개의 MongoDB 서버를 실행하려면 서로 다른 TCP포트 번호를 지정해야 합니다. 이 옵션이 생략되면 자동으로 포트번호는 27017으로 지정됩니다. 예를 들어, 포트번호를 12345로 지정한다면 다음과 같이 실행합니다:

    mongod --port 12345

    포트번호가 이미 사용 중일 경우 다음과 같이 메시지가 출력될 것입니다.

    Address already in use for socket: 0.0.0.0:27017

  • --fork

    Daemon으로 mongod를 실행하는 것입니다. Daemon이라는 것은 시스템 서비스로서 부팅 시퀀스에 의해 자동으로 백그라운드 프로세스로 실행되는 것이다.

    mongod --fork

  • --logpath

    MongoDB 서버를 커맨드라인에서 실행하면 커맨드라인 툴 상에서 로그가 출력되는 것을 확인할 수 있습니다. 커맨드라인 툴이 아닌 파일로 저장하고 싶은 경우 이 옵션을 사용합니다.

    --logpath 뒤에 로그파일의 경로와 파일명을 지정합니다.

    만약 이미 존재하는 로그파일에 추가하여 기록을 원할 경우 --logappend 옵션을 사용합니다.

    mongod --logpath [your_log_file_path]/log_filename.ext

    MongoDB를 연습용으로서가 아닌 실무에 사용하려면 로그파일을 잘 읽을 수 있어야 합니다. 경고 메시지 등을 꼼꼼히 체크하여 서비스하는데 문제가 발생하지 않도록 합니다.

    예를 들어, 사용되고 있는 MongoDB 버전이 안정된(stable) 버전이 아닌 개발 중인 버전일 경우에는 버그가 있을 가능성이 크므로 서비스로 사용하지를 않기를 권장드립니다.

  • --config

    커맨드라인 상에서 옵션을 지정하는 것이 아닌, 파일에 환경설정 옵션을 작성하고 그 파일의 옵션 내용을 불러옵니다.

    이것은 지정해야 할 옵션이 너무 많아 커맨드라인 상에서 일일이 옵션을 지정하기 불편하거나 동일한 옵션으로 서버 실행을 해야하는 경우에 주로 사용됩니다.

    이 옵션에 대한 자세한 설명은 [파일 기반 셋팅]에서 다루도록 하겠습니다.

이 외에도 MongoDB의 실행 옵션은 매우 다양합니다. 이외의 다른 옵션들에 대한 설명은 관련 MongoDB 도큐먼트를 참고하도록 합니다.


  • 파일 기반 환경설정

앞서 커맨드라인의 MongoDB 실행 옵션 중 --config에 대해 간단하게 설명한 바 있습니다.

서버 실행에 있어 반복적으로 동일한 옵션으로 실행하려면 옵션을 실행 시 마다 지정하는 것보다는 파일로 환경설정 옵션을 작성하고 그 파일을 옵션으로 로딩하는 것을 권장합니다.

방법은 간단합니다. 일단 다음과 같이 mongodb.cfg라는 파일을 작성하되, 경로는 관리하기 좋은 곳에 저장합니다:

mongodb.cfg

# Where and how to store data.
storage:
  dbPath: {YOUR_MONGODB_DATAPATH}
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  {YOUR_MONGODB_LOGPATH}\mongod.log

# network interfaces
net:
  port: {YOUR_PORT_NUM}
  bindIp: {YOUR_IP}

파일로 저장된 환경설정에 따라 MongoDB를 실행하려면 커맨드라인에서 다음과 같이 입력합니다:

mongodb --config [YOUR_mongodb.conf_PATH]/mongodb.cfg

Windows의 경우 기본 config file은 C:\Program Files\MongoDB\Server\{MONGODB_VERSION}\bin\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: C:\Program Files\MongoDB\Server\4.4\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  C:\Program Files\MongoDB\Server\4.4\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp: