기존 로컬 pc에서 React 프로젝트를 npm start 로 localhost로 접근이 가능한데
외부 pc에서도 접근이 가능 하도록 AWS EC2를 사용하여 배포해 보겠다.
1.AWS에 접근을 해 인스턴스 시작 버튼을 클릭하여 EC2 인스턴스를 만들어 준다.
2. 이름 및 Amazon Machine 이름을 Ubuntu로 선택해 주고
3.인스턴스 유형을 자신에게 맞는 사양을 선택해 준다.
4.키 페어는 새 키페어 생성 버튼을 클릭 후 키페어를 RSA, .pem으로 설정하면 fileName.pem으로 다운로드 받을 수 있다.
5.네트워크 설정
6.스토리지 구성 후 인스턴스 시작 버튼으로 인스턴스를 생성해 주면 된다.
7.생성된 인스턴스 정보에서 퍼블릭 IPv4주소 를 복사 후 우측 상단의 연결을 클릭 해 준다.
8.연결을 하면 아래와 같은 화면이 나타나는 못습을 볼 수 있을 것이다.
9. git clone 저장소ssh주소 를 입력해 프로젝트를 위의 ubuntu에 다운받아
프로젝트 이름 으로 접근을 한다
ex) git clone https://github.com/youngw77/kalos.git
클론이 완료되면 cd kalos로 해당 프로젝트를 들어가 ls 명령어로 파일을 확인하면 된다.
이후 ubuntu에 노드를 설치해 보자
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt-get install nodejs
정상적으로 설치가 완료 됐으면 node -v 와 npm -v 로 버전을 확일할 수 있다.
10.웹서버 nodejs Express 설치하기
root 위치 kalos에서 server.js 파일을 만들어 줘 server.js를 실행시켜 웹서버를 동작할 예정이다.
명령어 vi server.js 를 입력하게 되면 server.js 파일이 만들어 진다.
아래의 명령어를 입력 후 키보드 Esc 버튼 -> :wq -> Enter 를 누르게되면 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}`);
});
생성이 완료되면 ls 명령어로 server.js가 추가로 생성된 모습을 볼 수 있다.
11.node server.js로 웹서버를 실행하고 인스턴스 정보에서 퍼블릭 IPv4:8000 를 입력하면 해당 프로젝트가 실행 된 모습을 볼 수 있다.
AWS EC2 배포가 정상적으로 된 모습을 확인 할 수 있다.
'AWS' 카테고리의 다른 글
AWS S3 bucket file Vue로 나타내기 (0) | 2023.03.22 |
---|---|
AWS S3 buket file list 나타내기 (0) | 2023.03.21 |
S3 file upload (0) | 2023.03.15 |
AWS S3 버킷 생성 및 설정 (0) | 2023.03.14 |