AWS에 Node.js 서버 배포
오늘은 Node.js 강의를 따라 AWS에 내가 만든 Node.js 서버를 배포하는 실습을 했습니다.
실습을 하면서 배운 내용을 정리하는 내용을 적을려고 합니다.
AWS란?
AWS는 Amazon Web Services의 약자로, 아마존닷컴(Amazon.com)에서 제공하는 클라우드 컴퓨팅 플랫폼 및 서비스의 집합체를 의미합니다. 쉽게 말해, 인터넷을 통해 전 세계 어디서든 필요한 IT 인프라와 서비스를 빌려 쓸 수 있도록 하는 거대한 '가상 데이터 센터'이자 'IT 서비스 백화점'이라고 생각할 수 있습니다.
EC2란?
lastic Compute Cloud의 약자로, AWS(Amazon Web Services)의 가장 핵심적인 서비스 중 하나입니다. 한마디로, 클라우드에서 사용할 수 있는 "가상 서버"라고 생각하시면 됩니다.
EC2의 주요 개념
- 가상 서버
- EC2는 물리적인 서버가 아니라 가상화 기술을 통해 생성된 가상의 컴퓨터입니다. 이 가상 컴퓨터를 AWS에서는 "인스턴스(Instance)"라고 부릅니다.
- 사용자는 이 인스턴스에 운영체제(Linux, Windows 등)를 설치하고, 원하는 애플리케이션(웹 서버, 데이터베이스, 게임 서버 등)을 실행할 수 있습니다.
AWS EC2에 접속하기(Window 기준)
윈도우에서는 ssh가 없기 때문에 Git bash 설치하고 실행 시켜서 접속 합니다.
그리고 다음과 같이 AWS에 받은 키페어를 끌어다 놓고 AWS에 있는 IP 주소를 입력하면 접속할 수 있습니다.
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
AWS EC2 Node.js 설치
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
AWS EC2에 내 Node.js 서버 배포
# 원격 저장소로 부터 코드 가져오기
git clone <Github Repository URL>
# 예시
git clone https://github.com/archepro84/nodejs-todo-list.git
그리고 Node.js 서버를 실행할 파일이 있는 곳으로 가서 node app.js를 입력해서 실행 시킵니다.
그리소 브라우저에 http://<복사한IP>:3000 입력하면 연결 되지 않습니다. 왜냐하면 아직 AWS에 3000번 포트를 안 열어주었기 때문입니다. 그래서 3000 포트를 열어주면 이제 내가 만든 Node.js 서버에 접속 할 수 있게 됩니다.
영원히 꺼지지 않는 서버 실행 프로그램, PM2
pm2란 프로세스 매니징 도구로 Node.js를 편하게 관리할수있게 도와주는 라이브러리입니다.
pm2 명령어
- pm2 restart [idnumber] : 현재 실행중인 pm2 서비스를 재시작합니다.
- pm2 list: pm2로 관리되는 모든 서비스의 목록을 출력합니다.
- pm2 delete [pid number]: 실행 중인 pm2 서비스를 종료합니다.
- pm2 log: 실행한 서비스들의 로그를 출력할 때 사용합니다. 디버깅에 유용합니다.
- pm2 logs --lines [number]: 가장 최근에 발생한 로그 중에서 지정한 수만큼 출력합니다.
'이노베이션캠프 > TIL' 카테고리의 다른 글
Node.js 숙련 1주차 강의 정리 (5) | 2025.07.22 |
---|---|
Prisma Client 생성 안되는 오류 (0) | 2025.07.21 |
이노베이션 캠프 9일차_스킬을 구현해보자 (0) | 2025.07.16 |
이노베이션 캠프 8일차_과제 전투시스템 개선 (0) | 2025.07.15 |
이노베이션 캠프 7일차_서버 문이 안 열려요?! (0) | 2025.07.14 |