TIL 71. Next.js - socket.io 배포하기

isk·2023년 2월 9일
0

TIL

목록 보기
68/122
post-custom-banner

위 사진은 클라이언트의 소켓 서버 연결 코드 부분이다.


위 사진은 소켓 서버의 통로(?)를 여는 부분이다.


아래부터는 AWS의 EC2를 이용한 Next.js 배포다.

인스턴스(AWS 컴퓨터) 생성

  1. EC2접속

  2. 인스턴스 시작

  3. 이름 작성

  4. 아래 이미지와 같은 걸 클릭해서 Ubuntu Server 18.04 LTS 선택

  5. “프리 티어 사용 가능” 이라고 적혀있는 t2.micro 타입 확인

  6. 키 페어 생성 - 키 페어 유형 : RSA, 프라이빗 키 파일 형식 : .pem

  7. 만든 키가 있는 위치를 기억!! (실행할 때 키가 있는 위치에서 실행해야함)

  8. 맨 아래 인스턴스 시작을 눌러서 인스턴스 생성

  9. 아래 사진의 보안 그룹을 누른다.

  10. 인바운드 규칙 편집을 누른다.

  11. 아래 사진처럼 규칙을 추가한다.

인스턴스 서버 실행

  1. 아래 이미지의 ID를 누른다.

  2. 상단 부분에 연결을 누른다

  3. 아래 사진과 같은 부분을 복사한다.

  4. 터미널을 킨 후, 키 페어 생성으로 만든 키가 있는 폴더로 이동한다.

  5. 복사한 부분을, sudo를 붙여서 붙여넣는다.
    ex) sudo ssh -i “dlrjszlfksms.pem" ubuntu@dlqnqnsdmswnth.amazonaws.com

  6. 컴퓨터 비밀번호를 입력해야할 수도 있음.

인스턴스 서버에 node.js, npm 설치

  1. 터미널로 서버를 실행한다.

  2. 다음 코드를 설치한다.
    curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -

  3. 다음 코드를 설치한다.
    sudo apt-get install -y nodejs

  4. 다음 코드로 설치를 확인한다.
    node -v, npm -v

node.js, npm을 설치한 인스턴스 서버에 프로젝트 띄우기

  1. git clone으로 리포지토리를 복제해온다.

  2. cd 명령어로 리포에 들어간다.

  3. npm install로 모듈들을 설치한다.

  4. 다음 명령어로 80번 포트 접속을 3000번으로 돌린다.
    sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

  5. npm run build (또는 각 프로젝트의 빌드 명령어)로 빌드를 한다. (next build -> npm run build)

  6. npm start(또는 각 프로젝트의 실행 명령어)로 실행시킨다. (next start -> npm start)

배포한 프로젝트 실행

퍼블릭 IPv4 주소로 접속하면 된다.

인스턴스를 중지했다가 재부팅하는 경우

인스턴스를 재부팅하는 경우, 퍼블릭 IPv4 주소가 바뀌는 경우가 있다.
그런 경우 'node.js, npm을 설치한 인스턴스 서버에 프로젝트 띄우기' 부분의 4번을 다시 해줘야한다.

post-custom-banner

0개의 댓글