배포준비-1 // 프로젝트 생성 및 빌드

최권준·2021년 10월 25일

SSG

SSG(Static Site Generation)배포 : 스토리지에 HTML, CSS, JAVASCRIPT를 저장해놓고 실행시키는 방식

VS CODE에서

  • 새 프로젝트 생성(복습)

npx create-next-app

  • build에 배포를 위해 next export를 추가해준다
  • boards에 boards폴더를 만들어주고 build 했을때 폴더를 만들어주기 위해서 next.config.js에 trailingSlash를 true로 설정해 준다.

GCP(Google Cloud Platform)에서

  • out안에 있는거 GCP 버킷에 올리기(drag & drop)

만약, 파일이 제대로 추가가 되지 않는다면 GCP에서 제공하는 터미널에서 직접 옮겨줘야한다.
1. 터미널에서 mkdir로 디렉토리를 하나 만들고 그 안에 git clone으로 내 파일들을 전부 복사해 온다.
2. yarn install, yarn build를 통해 build시켜 준다.
3. GCP에서 제공하는 gsutil을 이용한다 // ex) gsutil cp ./out/* gs://codecamp-deploy-3-umzi

  • node 버전 업그레이드
  1. npm cache clean -f
  2. npm install -g n
  3. 원하는 버전 선택
  • 버전 업그레이드에 문제 발생시 : nvm(node version manager) 이용
    nvm은 컴퓨터에 node버전을 여러개 설치하고 원하는 버전을 가져다가 사용할 수 있다.
  1. sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
  2. nvm ls(버전확인)
  3. nvm install 원하는 버전
  4. nvm use 사용할 버전
  • 버킷 공개하기

    버킷 메뉴에
    - 버킷권한 수정 -> 주 구성원 추가 -> allUsers입력 -> 역할선택 -> cloud storage -> 저장소 개체 뷰어선택

  • 맨처음 보여줄 페이지 정하기

    버킷 메뉴에
    - 웹사이트 구성 수정 -> 색인(기본) 페이지 서픽스에 index.html 작성 -> 오류 서픽스에 404/index.html 작성

부하분산 : Load balancer

  • TCP : 컴퓨터간에 통신을 할 때 상대가 받았는지 확인하고 보내주는 방식
    - 속도는 느리지만 데이터의 정확성이 높음

  • UDP : 컴퓨터간에 통신을 할 때 상대가 받았는지 확인하지 않고 보내는 방식
    - 속도는 빠르지만 데이터의 정확성이 상대적으로 낮음

  • Cloud CDN : 거리가 먼 곳에서 데이터를 불러올 경우 굉장한 시간이 소요되기 때문에 각지에 CDN을 설정해 두어서 그 시간을 줄인다.

LB의 프론트엔드 : LB를 거치기전 접속하는 부분
LB의 백엔드 : LB가 데이터를 가져오는 부분 (현재로선 Storage 즉, 버킷)

0개의 댓글