어서와, 개발은 처음이지?

[처음부터 시작하는 EC2] ubuntu mongodb 설치하기 본문

EC2_Ubuntu_Devops

[처음부터 시작하는 EC2] ubuntu mongodb 설치하기

오지고지리고알파고포켓몬고 2019. 2. 4. 15:41
반응형


이번 글에서는 mongodb를 설치 해보도록 하겠습니다.

mongodb 공식 사이트를 참고했습니다.



1. mongodb 버전 선택


mongodb 공식 사이트에 들어가면 아래와 같은 화면을 볼 수 있습니다.



이곳에서 설치하고 싶은 버전, 사용 중인 운영체제를 선택하고 설치 방법을 따르면 됩니다.

이 글에서는 4.0 버전을 설치하도록 하겠습니다.

다른 버전도 유사하니 참고하시고 진행하시면 좋을 것 같습니다.



2. mongodb 설치


설치 과정은 크게 복잡하지 않습니다.

터미널을 사용해 ec2 인스턴스에 접속하여 설치 문서를 따라 몇 가지 명령어를 입력해줍니다.


우선 아래 명령어를 사용하여 공개키를 가져옵니다.

> sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4


다음은 mongodb list 파일을 생성합니다.

> echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list


그리고 로컬 패키지 데이터베이스를 리로드합니다.

> sudo apt-get update


다음으로 아래 이미지처럼 두 가지 선택지가 나오는데, 왼쪽 선택지의 명령을 따르면 항상 최신 버전의 mongodb가 설치됩니다.

우리는 특정 버전(4.0.x)을 설치할 것이기 때문에 오른쪽 선택지의 명령을 따릅니다. 


> sudo apt-get install -y mongodb-org=4.0.5 mongodb-org-server=4.0.5 mongodb-org-shell=4.0.5 mongodb-org-mongos=4.0.5 mongodb-org-tools=4.0.5


마지막으로 의도하지 않은 버전 업그레이드가 발생할 수 있기 때문에 아래 명령을 사용하여 패키지 버전을 고정합니다.

> echo "mongodb-org hold" | sudo dpkg --set-selections
> echo "mongodb-org-server hold" | sudo dpkg --set-selections
> echo "mongodb-org-shell hold" | sudo dpkg --set-selections
> echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
> echo "mongodb-org-tools hold" | sudo dpkg --set-selections




3. mongodb service 등록(선택)


위 과정을 따라 설치가 완료되면 /lib/systemd/system/mongod.service가 생성되어, sudo service mongod start 명령을 사용하여 mongodb 데몬을 실행할 수 있습니다.


하지만 특정 환경에서는 이 부분을 직접 작성해줘야 하는 경우가 있다고 합니다.

Unit mongod.service could not be found.

sudo service mongod start 명령을 실행 했을때, 위와 같은 메세지가 보인다면 /etc/systemd/system/에 mongod.service 파일을 생성하도록 합니다.

> sudo vi /etc/systemd/system/mongod.service 

아래 내용을 입력하고 저장합니다.

[Unit]
Description=MongoDB Database Server
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
EnvironmentFile=-/etc/default/mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

만약 다른 방법을 통해 mongodb를 설치했다면 ExecStart의 /usr/bin/mongod를 설치한 경로의 mongod로 수정해줍니다.


마지막으로 mongod를 service에 등록합니다.

> sudo systemctl enable mongod



4. mongodb 실행


mongodb를 사용하기 위해서는 서비스 데몬이 실행되어있어야 합니다.

> sudo service mongod start

위 명령을 실행하면 mongo 명령을 사용하여 mongodb shell을 실행할 수 있습니다.

> mongo



다음 글에서는 mongodb의 외부접속 방법에 대해 작성하겠습니다.


Comments