AWS EC2 배포

빵호·2021년 12월 29일
0
post-thumbnail

인스턴스를 생성 후 배포하는 방법에 대해 알아보도록 하자.

1. 우분투 서버 열기

ssh -i bbangho.pem ubnuntu@1.1.1.1
// ssh -i key이름.pem os@aws 퍼블릭 IP 주소

위와 같이 aws에서 발급받은 키 페어를 통해 서버를 열수 있다.

chmod 400 bbangho.pem

해당 키 페어의 권한이 낮을 경우 에러가 발생할수 있는데 위의 명령어로 키 페어의 권한을 수정하면 된다.

2. node 설치

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

sudo apt-get update
sudo apt-get install nodejs

우분투 서버에는 설치되어 있는게 아무것도 없으므로 node를 설치한다.

3. 프로젝트 다운로드

git clone 프로젝트_repo_주소
cd 프로젝트_repo_주소
npm install

git에서 배포할 프로젝트를 clone 받고 패키지들을 설치해준다.

4. 서버 설치

npm install express --save

배포할 서버를 설치한다.

5. 서버 세팅

vi server.js

프로젝트 안에 server.js 파일을 생성한다.

const http = require("http");
const express = require("express");
const path = require("path");

const app = express();

const port = 8000;

app.get("/ping", (req, res) => {
  res.send("pong");
});

app.use(express.static(path.join(__dirname, "build")));

app.get("/*", (req, res) => {
  res.set({
    "Cache-Control": "no-cache, no-store, must-revalidate",
    Pragma: "no-cache",
    Date: Date.now()
  });
  res.sendFile(path.join(__dirname, "build", "index.html"));
});

http.createServer(app).listen(port, () => {
  console.log(`app listening at ${port}`);
});

그리고 express 서버 설정을 위해 위의 코드를 복사 붙혀 넣기 한다.

6. 빌드

npm run build

배포를 위해 빌드를 한다.

7. 서버 실행

node server.js

서버를 실행한다. 그럼 이제 aws 퍼블릭 IP 주조 + 설정한 포트 번호를 url에 입력하면 배포한 페이지에 접속할 수 있게 된다

node server.js &

터미널을 종료해도 서버를 계속 가동하고 싶으면 & 를 추가하면 된다.

profile
늘 한결같이 꾸준히

0개의 댓글