AWS EC2 인스턴스에 next.js 배포하기

Jetom·2023년 1월 9일
3

etc(언어 외의 기술)

목록 보기
9/11
post-thumbnail

github action을 달기 위해서 ec2 인스턴스에 next.js를 띄우려다 살짝 화남 포인트가 몇가지 있어서 기억하려고 한다..

리눅스 설명^*^


👻 우선 aws 계정 생성을 위해 신용카드는 필수다.

👻 참고 블로그


  1. 인스턴스 설정 전 국가는 서울로 맞추기
    (엉뚱한 나라로 인스턴스가 설정되므로 서울로 설정하고 맞추기!)

  2. 처음하는 사용자는 ec2를 검색 후 인스턴스로 바로 들어가면 된다.(호버하면 인스턴스 메뉴 나옴)

  3. 인스턴스 시작 클릭!

  4. 인스턴스 설정 시작

  • 이름 설정
  • ubuntu 클릭
  • ubuntu는 18.04 버전으로 설치

  • 인스턴스 유형은 기본인 t2.micro로 설정했음(아무거나 가능)
  • 키 페어는 패스워드 같은 느낌임(새 키 페어 생성 버튼 클릭)

  • 키 페어 이름 입력 후 생성하면 .pem 파일이 다운 받아지는데, 터미널에서 필요하므로 자신이 쉽게 찾을 수 있는 경로에 두기

  • 생성 후 인스턴스 생성하면 끝 !(실수로 스샷을 안찍고 넘어가버렸다..)

  1. 인스턴스 ID를 눌러 기본 정보 확인하기
  • id를 클릭하면 나오는 화면(맨 왼쪽 체크박스를 클릭해도 나옴)
  • ip 주소는 둘 중 아무거나 보면됨(같기 때문)
  • 나중에 next.js를 설치하고 화면을 봐야할 때 필요한 ip 주소이다.
  1. 연결을 클릭한다.

  2. 연결에 보이는 ssh로 시작하는 명령어를 복사한다.

  3. 드디어 powerShell(or cmd)를 열어서 .pem이 있는 경로로 가서 복붙한다.(ssh가 복사 되어있으면 오른쪽 마우스 클릭하면 붙여넣기 됨)

  • 붙여넣고 엔터치면 메시지 나오는데 yes치고 엔터 다시 누르기
  1. 접속된 ubuntu 확인하기

  2. nvm 설치하기

👻 $ node -v로 node 버전을 확인할 수 있다.

참고 블로그에선 아래의 명령어들을 입력 한 후 다른 명령어로 최신화를 시킨다고 나왔었는데, 왜인지 난 node가 최신화가 되지 않았고 결국 aws를 뒤져서 nvm을 설치한 후 원하는 node 버전으로 설치했다.

$ sudo apt-get update

$ sudo apt install nodejs

$ sudo apt install npm

그래서 나의 경우는 추가로 nvm을 설치했다.

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

$ . ~/.nvm/nvm.sh

$ nvm install --lts

👻 만약 위와 같이 에러가 난다면 $ nvm install 18명령어로 직접 설치하면 된다.

aws 참고 자료

  1. 깃허브 clone하기

https로 복사 한 후

ubuntu로 돌아와서 clone하면 clone이 됐다.

  1. next.js 깔기

👻 ubuntu가 어느 디렉토리에 있는지 확인 후 설치하자

드디어 next를 깔았다. (이게 끝이 아니다 🥲)
이제 브라우저를 열어 진짜 next가 실행되는지 확인하자.

  1. 인바운드 규칙 편집하기

들어가는 방법

  1. 인스턴스 id를 직접적으로 눌러 보안탭 클릭
  2. 보안 탭의 보안 그룹 클릭

  1. 체크 박스로 해당하는 서버 클릭
  2. 보안 탭의 보안 그룹 클릭
  1. 규칙 편집후 저장하기

👻 http 설정과 ip를 0.0.0.0/0로 설정해주면 다른 pc에서도 접근이 가능하다.

  1. ip로 접속해 화면에 띄우기
    이제 최최종 느낌으로 아래의 명령어로 서버를 build하고 퍼블릭 IPv4 주소로 접속해 페이지를 확인한다.(인스턴스 페이지 -> 인스턴스 ID 클릭 -> 퍼블릭 IPv4 주소 복사 후 브라우저에 붙여넣기)

$ npm run build
$ npm run start

끝 !

(실습하고 나면 꼭 꺼주자! 안그럼 돈 나감!)

profile
사람이 좋은 인간 리트리버 신혜리입니다🐶

0개의 댓글