위 사진은 클라이언트의 소켓 서버 연결 코드 부분이다.
위 사진은 소켓 서버의 통로(?)를 여는 부분이다.
아래부터는 AWS의 EC2를 이용한 Next.js 배포다.
인스턴스(AWS 컴퓨터) 생성
EC2접속
인스턴스 시작
이름 작성
아래 이미지와 같은 걸 클릭해서 Ubuntu Server 18.04 LTS 선택
“프리 티어 사용 가능” 이라고 적혀있는 t2.micro 타입 확인
키 페어 생성 - 키 페어 유형 : RSA, 프라이빗 키 파일 형식 : .pem
만든 키가 있는 위치를 기억!! (실행할 때 키가 있는 위치에서 실행해야함)
맨 아래 인스턴스 시작을 눌러서 인스턴스 생성
아래 사진의 보안 그룹을 누른다.
인바운드 규칙 편집을 누른다.
아래 사진처럼 규칙을 추가한다.
인스턴스 서버 실행
아래 이미지의 ID를 누른다.
상단 부분에 연결을 누른다
아래 사진과 같은 부분을 복사한다.
터미널을 킨 후, 키 페어 생성으로 만든 키가 있는 폴더로 이동한다.
복사한 부분을, sudo를 붙여서 붙여넣는다.
ex) sudo ssh -i “dlrjszlfksms.pem" ubuntu@dlqnqnsdmswnth.amazonaws.com
컴퓨터 비밀번호를 입력해야할 수도 있음.
인스턴스 서버에 node.js, npm 설치
터미널로 서버를 실행한다.
다음 코드를 설치한다.
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
다음 코드를 설치한다.
sudo apt-get install -y nodejs
다음 코드로 설치를 확인한다.
node -v
, npm -v
node.js, npm을 설치한 인스턴스 서버에 프로젝트 띄우기
git clone으로 리포지토리를 복제해온다.
cd 명령어로 리포에 들어간다.
npm install로 모듈들을 설치한다.
다음 명령어로 80번 포트 접속을 3000번으로 돌린다.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
npm run build
(또는 각 프로젝트의 빌드 명령어)로 빌드를 한다. (next build -> npm run build)
npm start
(또는 각 프로젝트의 실행 명령어)로 실행시킨다. (next start -> npm start)
배포한 프로젝트 실행
퍼블릭 IPv4 주소로 접속하면 된다.
인스턴스를 중지했다가 재부팅하는 경우
인스턴스를 재부팅하는 경우, 퍼블릭 IPv4 주소가 바뀌는 경우가 있다.
그런 경우 'node.js, npm을 설치한 인스턴스 서버에 프로젝트 띄우기' 부분의 4번을 다시 해줘야한다.