AWS EC2 배포하기

김동하·2021년 1월 21일
0

next

목록 보기
5/10
post-thumbnail

AWS로 배포하기

아마존 AWS

  • 아마존 회원 가입 후 인스턴스 생성부터 시작해보자

대시보드에서 EC2를 선택한다!

  • 인스턴스 시작. 무척 설렌다.

  • 우분투를 os로 선택. 어떤 os가 서버에 들어갈지 선택 가능. 가장 대중적인 우분투 선택.

vCPU는 cpu개수, 메모리는 램 용량을 의미함. 프리티어 선택.

  • 보안 그룹

포트 범위에 내가 서버에서 쓸 포트를 적어준다.

소스에서 0.0.0.0/0 얘는 퍼블릭 ip를 쓰겠다는 규칙이다!

5800 -> 80

인스턴스 생성!

ssh -i 키페어 파일명 ubuntu@아이피 주소로 우분투에 들어간다.

  • node.js를 깔아버리자

curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -

sudo apt-get update

sudo apt-get install nodejs

  • server.js를 설정해주자
const express = require('express');
const next = require('next');
const path = require('path');

const dev = process.env.NODE_ENV !== 'production';
const prod = process.env.NODE_ENV === 'production';

const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
  const server = express();

  server.use('/', express.static(path.join(__dirname, 'public')));
  server.use(express.json());
  server.use(express.urlencoded({ extended: true }));

  server.get('*', (req, res) => handle(req, res));

  server.listen(prod ? process.env.PORT : 5800, () => {
    console.log(`success ${prod ? process.env.PORT : 5800}`);
  });
});
  • 실행 명령어

development, build, start를 나눠서 실행 명령어를 작성해준다.

  • 설레는 빌드 시작

npm run build

대소문자 에러인데 대소문자가 다르면 build를 못 한다. 로컬에서 고쳐주면 된다.

  • build 성공

  • npm run start

build가 완료되면 start로 시작을 하면 되는데 권한 문제가 발생! sudo를 붙여서 해결하면 된다.

인스턴스의 퍼블릭 주소로 접속하면 성공!

profile
프론트엔드 개발

0개의 댓글