인스턴스 | EC2 Management Console
인스턴스 시작 -> 운영체제/인스턴스 타입/키 선택
ssh -i [다운 받은 키] ubuntu@[인스턴스 요약 탭의 퍼블릭 IPv4 주소]
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejssudo apt-get install gnupg
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-orgMongoDB 공식 문서 설치 가이드터미널 -> 프로젝트 폴더 -> npm install -> node app.js
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000sudo -snpm install -g pm2pm2 start app.jspm2 restart [idNumber]
pm2 list
pm2 delete [pidNumber]
pm2 log
pm2 logs --lines [number]
MongoDB 설치 시 오류 발생.

Node.js 입문주차의 7-2, 7-3강 강의 내용을 그대로 따라했다.
인스턴스 생성 시 운영체제를 선택해야 하는데, 이 때 강의에서와는 달리 Ubuntu 18.04 버전이 없고 20.04, 22.04가 있어서 22.04를 선택했는데 이것 때문이 아닐까 하는 생각이 들었다.
MongoDB 공식 문서에 들어가보니 MongoDB 설치 방법이 나와있는데
강의에서의 우분투 버전과 나의 버전이 다르기 때문에 오류가 발생했던 것이다.
MongoDB 공식 문서의 Ubuntu 버전에 맞는 리스트 버전 생성하는 단계에 우분투 버전마다 입력해야 하는 명령어가 나와있다.
Ubuntu 18.04
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
Ubuntu 20.04
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
Ubuntu 22.04
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
여기서 내 우분투 버전에 맞는 명령어를 실행하면 오류 없이 정상적으로 설치가 된다.
알게 된 점:
GnuPG?
공용 키를 가져오는 과정에서 GnuPG가 설치되어있지 않다면 이 것을 설치하는 과정이 포함되어있다.
GnuPG는 보안 통신을 위한 도구이다. 주로 키 교환 및 확인, 문서 암호화, 및 암호 해독, 디지털 서명 문서인증 등을 책임진다.
리스트 파일?
MongoDB 설치 과정에서 리스트 파일을 생성하라는데.. 이 리스트 파일이 뭐지? 다른 곳에서는 이 과정을 "MongoDB의 APT repository를 /etc/apt/sources.list.d에 추가해라"라고 나와있다.
APT(Advanced Packaging Tool)는 리눅스에서 .deb 형식의 패키지들을 관리해주는 툴이다.
그렇다면 sources.list.d는 무슨 디렉토리인가?
원래 sources.list라는 파일(시스템에 존재하는 모든 레포지토리를 기록하는 파일)이 있는데 새로운 레포지토리를 추가할 때마다 이 파일을 일일이 수정하기보다 .d라는 디렉토리를 하나 만들어 거기에 레포지토리를 추가해주고 sources.list의 레코드들처럼 apt에서 사용이 가능하다.
배운 점:
강의를 그대로 따라하는 것도 좋지만 패키지 설치 시 혹은 명령어 실행 시 오류가 날 때 오류 메세지를 검색해보는 것도 좋지만 사용하려는 패키지/명령어/운영체제 등의 공식 문서를 확인하는 습관을 들이는 것이 필요할 것 같다.