https://console.aws.amazon.com/console/home
AWS 콘솔에 로그인하여 EC2 인스턴스 생성 및 키 발급
인스턴스 생성시 요금에 주의, 프리티어 사용
EC2 접속
EC2 인스턴스 정보에서 공인 ip 주소 확인
git bash를 통해서 다운받은 키를 통해 ssh 접속하기
ssh -i my_keypair.pem ubuntu@my_ipadress
NodeJS 설치
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
GitHub에서 프로젝트 가져오기
레파지토리의 web URL 복사 https://github.com/dkcp/itemsimulation.git
EC2의 ubuntu 폴더 안에서 (밖에선 권한 상승 필요) 클론 실행
git clone https://github.com/dkcp/itemsimulation.git
cd itemsimulation : 원격 저장소로부터 가져온 프로젝트로 이동
sudo npm install -g yarn : yarn을 사용하기 위해, 전역으로 yarn을 설치
yarn : 원격 저장소로 부터 가져온 프로젝트의 의존성 및 패키지를 설치
node src/app.js : 프로젝트를 실행, 포트 리스닝
EC2 인스턴스의 보안 그룹 설정
EC2 인스턴스 설정에서 보안 그룹 편집
방화벽 허용할 ip와 포트를 설정한다. (0.0.0.0 -> 모든 ip)
pm2 설치
pm2 : 서버 실행 유지 및 로깅 프로그램
sudo -s : 관리자 계정으로 전환
yarn global add pm2 : 전역으로 설치
pm2 start src/app.js : pm2로 실행
pm2가 프로세스 번호를 부여하고 app.js를 실행하면 끝