바르고 뜨겁게

AWS Lightsail - Nodejs + mySql 배포 본문

자바스크립트/Node Js

AWS Lightsail - Nodejs + mySql 배포

RightHot 2019. 9. 23. 23:21


AWS Lightsail - Nodejs + mySql 배포

1. cross-env 설치

동적으로 process.env 변경 (개발 환경과 로컬 환경 분리)

 npm i -g cress-env && npm i cross-env

package.json

 "scripts":{
     "start": "cross-env NODE_ENV=production PORT=80 node ./bin/www",
     "dev": "node ./bin/www"
 }
 
 // start 에선 process.env.NODE_ENV 를 production 으로 변경하고 있음
 // 변경하는 env 값은 app.js 에서 사용중
 // 포트도 80 으로 변경
 npm start // 배포환경
 npm run dev // 개발 환경

2. pm2 설치

에러로 서버가 종료시 재실행 , 멀티프로세싱 ,

 npm i -g pm2 && npm i pm2

package.json

 "scripts":{
     "start": "cross-env NODE_ENV=production PORT=80 pm2 start node ./bin/www",

     "dev": "node ./bin/www"
 }
 
 // pm2 app.js : pm2 로 서버 시작
 // -i 0 : 클러스터링 모드 (멀티프로세스)

명령어

 pm2 list // 백그라운드 노드 프로세스 확인
 pm2 kill // 종료
 pm2 reload all // 재시작
 pm2 monit // 모니터링

3. AWS - LightSail

아파치 서버가 켜져있다면 죽여줍니다

 cd /opt/bitnami
 sudo ./ctlscript.sh stop apache

4. AWS - pm2 , cross-env 글로벌 설치

 sudo npm i -g pm2 cross-env

5. AWS - MySql 설치

 sudo apt-get update
 sudo apt-get install -y mysql-server
 mysql_secure_installation // root 비밀번호 설정

 mysql -h localhost -u root -p


Comments