-
[개발지식] AWS EC2 배포하기 (mongoDB)개발지식 2022. 3. 15. 14:53
EC2 서버 구매하기
SSH (Secure Shell Protocol)
다른 컴퓨터에 접속할 때 쓰는 프로그램으로, 다른 것들 보다 보안이 상대적으로 뛰어나다.
접속할 컴퓨터가 22번 포트가 열려있어야 접속이 가능하다. AWS EC2의 경우에는 이미 22번 포트가 열려있다.
AWS EC2 접속하기 (Mac OS 기준 - Mac은 ssh가 있어서, 명령어로 바로 접근이 가능하다.)
1. 터미널 실행
2. AWS EC2 서버 구매 시 받은 Keypair의 접근 권한을 바꿔주기
sudo chmod 400 받은 키페어를 끌어다 놓기
3. SSH로 접속하기
ssh -i 받은 키페어 끌어다놓기 ubuntu@AWS에 적힌 내 아이피
4. EC2에 Node.js 설치하기
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
설치 후 node -v와 npm -v를 통해서 현재 EC2에 설치된 Node.js의 버전을 확인할 수 있다.
5. EC2에 MongoDB 설치하기
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list sudo apt-get update sudo apt-get install -y mongodb-org
6. mongoDB 실행하기
sudo service mongod start
실행 후 아무 반응이 없으면, 잘 실행된 것이다. 리눅스는 보통 잘 되면 아무것도 안나온다.
7. mongoDB 접속 계정 생성하기
mongoDB를 외부에서 열어주기 전에, 접속에 필요한 아이디와 비밀번호를 세팅한다. (미설정 시 누구나 DB정보를 볼 수 있다.)
mongo
좌측에 '>'표시가 나오면 mongoDB에 접속 성공한 것이다.
# admin으로 계정 바꾸기 use admin; # 계정 생성하기 db.createUser({user: "test", pwd: "test", roles:["root"]});
test, test 자리에 아이디와 비밀번호를 영어로 적으면 된다.
# 나오기 exit # MongoDB 재시작 sudo service mongod restart
8. mongoDB를 외부에서 열어주기
mongoDB는 디폴트로 내부에서만 접속을 허용하고 있다. 이 작업은 외부에서 접근이 가능하도록 잠금을 풀어주는 것이다.
sudo vi /etc/mongod.conf
sudo: 관리자(SuperUser) 권한으로 다음을 실행하고, 관리자 권한으로 /etc 폴더 아래 mongod.conf 파일을 Vim으로 실행하라는 뜻
i
'i'로 입력 모드를 전을 해주고, 'network interfaces'의 'bindIP'를 0.0.0.0으로 변경해준다.
그리고 'security'에서 'authorization: enabled'라고 변경을 해준다.
# 내용 저장하고 에디터 종료하기. esc 누르고 다음 입력. :wq # 재시작 sudo service mongod restart
9. filezilla 프로그램을 이용하여 프로젝트 인스턴스에 업로드 하기.
- 프로젝트를 파일질라에 업로드를 한다.
- 파일질라를 실행시킨다.
- 호스트에 EC2 인스턴트 public IP를 입력하고, port에는 22를 입력 후 로그온 유형은 키 파일로 선택해서 AWS에서 내려받은 키파일을 통해서 접속 정보를 입력한다.
- 그 후 프로젝트 파일을 FTP 서버로 끌어다 놓는다.
- 작업 완료 후 터미널로 돌아와서 ls -al 명령어를 입력하면 프로젝트가 확인이 된다.
- 해당 프로젝트르 cd [프로젝트 이름]을 통해서 들어간다.
- 그 다음 npm install을 이용해서 module을 설치해준다.
- (node_modules가 들어 있어도, 옮기는 과정에서 누락됐을 경우를 대비해서 다시 재설치를 해주는 과정이다.)
- pm2 설치
sudo -s
npm install -g pm2
위 두 명령어를 차례대로 입력해서 EC2 인스턴스 관리자 권한을 취득 후 pm2를 전역으로 설치해준다.
pm2 start app.js
pm2를 설치 후 실행을 시켜주면 서버가 실행이 된다.
'개발지식' 카테고리의 다른 글
[개발지식] 애자일 방법론 - 스크럼(Scrum) (0) 2022.03.15 [개발지식] 애자일 방법론 (0) 2022.03.15 [개발지식] 자주 쓰이는 리눅스 명령어 (0) 2022.03.15 깊이 우선 탐색 (DFS), 너비 우선 탐색 (BFS) (0) 2022.03.14 페어 프로그래밍 (0) 2022.02.23