대시보드에서 EC2를 선택한다!
vCPU는 cpu개수, 메모리는 램 용량을 의미함. 프리티어 선택.
포트 범위에 내가 서버에서 쓸 포트를 적어준다.
소스에서 0.0.0.0/0 얘는 퍼블릭 ip를 쓰겠다는 규칙이다!
5800 -> 80
인스턴스 생성!
ssh -i 키페어 파일명 ubuntu@아이피 주소
로 우분투에 들어간다.
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt-get update
sudo apt-get install nodejs
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가 완료되면 start로 시작을 하면 되는데 권한 문제가 발생! sudo를 붙여서 해결하면 된다.
인스턴스의 퍼블릭 주소로 접속하면 성공!