Pay it Forward

[NodeJs] AWS EC2에 서버 올리기 (using pm2) 본문

Server/NodeJS

[NodeJs] AWS EC2에 서버 올리기 (using pm2)

minjoony 2020. 2. 6. 16:49
728x90

NodeJs를 통해 구현한 서버를 AWS EC2에 올려서 구동하는 방법을 살펴보겠습니다

 

 EC2서버에 서버를 올리기 위하여 Git에 해당 코드를 모두 올려둡니다 

1. EC2에 접속하기

 cmd  를 켜고 아래와 같이 명령어를 입력해줍니다

ssh -i [pem 경로] ubuntu@[public ip addr]

혹은 아래의 링크를 참고하여 EC2를 실행하여 주시면 됩니다

AWS EC2 실행하기

2. EC2에 구동할 서버 코드 올리기

Git에 올린 NodeJs 코드를 clone합니다

git clone [repository 주소]

 이 때, config 등의 보안 문제로 Git에 올리지 않는 코드는 반드시 직접 작성하여 줍니다 ! 

3. npm 설치 및 시작

sudo apt-get install npm
npm start

서버가 잘 돌아가는지 확인이 되었다면 EC2 접속 콘솔을 끄더라도 서버가 돌아갈 수 있도록

백그라운드에서 서버를 돌려보겠습니다

 ctrl + c  를 이용하여 서버를 끈 후, 아래단계를 진행해주세요!

4. pm2 를 이용하여 백그라운드로 서버 돌리기

pm2를 설치하여 줍니다

sudo npm install pm2 -g

만약 'sudo: npm: command not found' 라는 에러가 뜬다면

sudo를 빼고 다음과 같은 명령어를 통해 설치해 줍니다

npm install pm2 -g

 

 

설치가 완료되면 pm2를 이용하여 서버 코드를 구동하여 줍니다

pm2 start ./bin/www

다음과 같이 pm2가 실행되어 서버가 돌아가는 것을 확인하실 수 있습니다

이제 EC2 콘솔을 끄더라도 pm2를 통하여 서버가 계속 구동하게 됩니다

 

 

다음은 pm2의 중요 명령어들 입니다

 

- pm2로 돌아가는 프로세스의 name 바꾸기 (rename)

pm2 restart [id] --name [새로운 이름]

www로 구동되던 프로세스의 이름을 with-server라는 이름으로 바꿔보았습니다

- pm2로 돌아가고 있는 프로세스 목록 출력

pm2 list

- pm2 구동 멈추기

pm2 stop [process 이름]

- pm2 로그 확인

pm2 delete id
pm2 delete name

- pm2 로그 확인

pm2 logs id
pm2 logs name

pm2에서 돌고있는 특정 프로세스의 로그를 볼 수 있는 명령어입니다.

 

 

- 특정 port를 통해 돌고있는 프로세스 확인

netstat -ntlp | grep :[port num]

 

728x90
Comments