[ 90일차 복습1 ] Amazon AWS 리눅스 백그라운드로 서버 돌리기 / Node.js 에서 pm2 사용하기
지난 주 금요일에 배운 것 : Amazon AWS 리눅스 인스턴스 생성 , Local server와 연결
이제 연결한 것이 다른 작업을 해도 끊기지 않고 계속 백그라운드에서 연결되어 있도록 작업하기
Amazon AWS 리눅스 Background로 돌아아게 만들기 두 가지 방법
1. aws-back 터미널에서 명령어 실행
2. local server pm2 패키지 사용
리눅스 서버 백그라운드에서 계속 돌아가도록 만들기
1. aws 리눅스 인스턴스 명령어 방법
* 터미널에 aws-back, front, local-back 생성
1) 먼저 해당 경로로 들어가기 (파워셀 - aws-back)
cd ~
pwd
ls // 폴더확인
cd [들어갈 폴더명]
2) server 실행은 원래 아래의 명령어, 서버 실행을 끊기지 않도록 하려면 끝에 & 만 붙이면 된다.
sudo node server.js
sudo node server.js & // 리눅스 서버 백그라운드에서 계속 돌아감
-> 이렇게 해놓으면 다른 작업도 가능하다.
백그라운드에서 돌아가고 있는 서버 끄기
1) 현재 실행 중인 파일 확인
ps -ef
2) server 관련 작업의 PID 값 확인해서 삭제
node server.js & sudo node server.js 의 PID 확인함
sudo kill -9 [PID 숫자]
2. EXPRESS Node.js pm2 Package 사용 Background 로 돌리기
1. 파워셀 local-back 이용
2. pm2 설치
npm i pm2
3. package.json 수정
{
"name": "back",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "pm2 start server.js" // 수정
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"pm2": "^5.1.0"
}
}
4. 서버 실행시키기
npx pm2 start server.js [server.js = 파일명]
서버 멈추기
npx pm2 stop server [server는 확장자를 제외한 파일명]
서버 모니터해보기 (서버 online 실행시켜 놓은 상태에서 명령어 실행)
npx pm2 monit
종료
Ctrl + c
내용 삭제
npx pm2 kill
===> 이제 리눅스 server에도 pm2 적용 시키기
1. vs 터미널 경로 aws-back 으로 들어가기
cd ~
ls
cd [파일명]
2. pm2 다운받기
sudo npm install -g pm2
3. 실행시켜보기
* 관리가 권한으로 실행해야해서 sudo 붙이기
sudo npx pm2 start server.js
실행시키는 위의 명령어가 너무 길면 aws-back 의 터미널 명령어로 package.json 내용을 수정해서 짧게 만들 수 있다.
ls -al //파일 확인
vi package.json // vi -> insert, 편집하겠다. ---> i 눌러서 편집 ---> esc -> shifg + L + wq! (저장해서 나가기)
실행 명령어
npm run start
위의 정보 , list 다시 보는 명령어
npm pm2 list
server 끄기
sudo npx pm2 stop server
server 삭제 / 없애기
sudo npx pm2 kill