15. AWS와 GCP로 배포하기
15.AWS와 GCP로 배포하기
배포를 위한 준비사항... 9장 NodeBird 예제
15.1 서비스 운영을 위한 패키지
morgan, express-session 미들웨어중 개발옵션 -> 배포용으로 설정
sequelize 배포시, 비밀번호가 하드코딩되는 경우 문제가 됨 config.json -> config.js파일로 생성하여 적용 가능 js파일이므로 dotenv 모듈을 사용 가능. 나머지정도들도 변경하는 것이 좋음
cross-env 동적으로 process.env 변경
retire 설치된 패키지에 문제가 없는지 확인
pm2 원활한 서버 운영을 위한 패키지 개발 : nodemon, 운영 : pm2 를 쓴다는 말이 있을 정도... 1. 서버가 에러로 다운 -> 서버를 다시 시작 시켜줌 2. 멀피프로세싱 가능.. 멀티스레드 아님,
winston 운영에서, console.log, console.error 대채하기 위한 모듈 에러발생시, 로그는 사라질 수 있다... 로그 -> 파일저장 하기 위한 용도
level : 로그의 레벨. error > warn > info > verbose > debug > silly format : 로그의 형식. json, label, timestamp, printf, simple, combine transports : 로그저장방식. new transports.File, new transports.Console .. 다양한 방식 혼합 사용 가능
helmet, hpp 서버의 각종 취약점을 보완해주는 패키지 app.use 미들웨어 설정해서 사용하면 됨
connect-redis 멀티 프로세스 간 세션 공유를 위해
레디스
와익스프레스
를 연결 해주는 패키지. 세션아이디와 실제 사용자 정보가메모리에 저장
됨. -> 서버다운 ? 로그인이 다 풀려버림. ->데이터베이스에 저장 필요
이때 사용되는 것이레디스
-> 레디스 데베 설치도 필요... http://redislabs.comnvm, n node 버전 업데이트. 윈도우 ->
nvm-installer
linux, max ->n
15.2 Git과 GitHub 사용하기
설치 및 생략
15.3 AWS 시작하기
가입해야해서 일단 생략
인스턴스 생성
리전선택
블루프린트 노드 선택 (리눅스)
NodeJS 앱 선택
인스턴스 계획 선택, 프리, 5달러...
15.4 AWS 배포하기
SSH 사용하여 연결 -> VM 인스턴스 접속 가능
vm에 MySQL 설치 (서버 분리를 권장)
git 에서 소스 clone
Lightsail 기본적으로 아파치 서버가 켜져있는데.. 노드랑 동시실행이 불가 -> 종료 필요
소스 다운 받은 곳으로 이동하여 패키지 설치
퍼블릭 아이피 -> http://퍼블릭IP로 접근 하여 확인하기, https는 접속안됨 -> 도메인 구입 및 인증서 발급등의 별도 설정 필요
15.5 GCP 시작하기
AWS랑 UI만좀 다르고 동일 http, https 옵션체크 -> 트래픽 허용
15.6 GCP 배포하기
마찬가지 책참고로 마무리 GCP Cloud SQL -> MySQL 전용 서비스 , AWS RDS 비슷한 맥락
Last updated
Was this helpful?