1. AWS 로그인 / 서비스 - EC2 클릭
2. 인스턴스 시작 / Quick Start - Ubuntu, 프리티어 사용 가능.
3. 인스턴스 유형 : t2.micro (프리티어)
4. 키페어 : 키페어 생성 (ex) turtlehome) , 다운로드 되는 파일 따로 저장해두기 한번만 다운로드 가능.
5. 네트워크 설정 : 기본값으로 설정 / 보안그룹 생성 : 보안그룹규칙 추가 - 포트범위 8,000 / 소스유형 위치 무관
6. 스토리지 구성 : 8gb / gp2, 8gb 넘어갈 시에 비용이 발생된다.
7. 고급 세부 정보 - 종료방식 중지 / 종료방지 활성화
8. 4번에서 다운로드 된 파일 터미널로 접근해서 권한 수정 chmod 400 turtlehome.pem
9. 그 다음 접속하기 ssh -i turtlehome.pem ubuntu@13.57.246.166 (인스턴스 클릭했을 때 나오는 public IP)
여기까지 했는데 port 22: Operation timed out 에러가 떴다.
해결법 :
10. 접속을 하면 컴퓨터의 폴더로 들어온 것과 같은 의미.
11. 우분투 서버에 node 다시 깔기
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt-get update
sudo apt-get install nodejs
12. 프로젝트 clone 및 install
git clone 프로젝트_repo_주소 cd 프로젝트_repo_주소 npm install
13. build 모드로 전환
npm run build
14. express 설치해서 간단하게 웹서버
npm install express --save
15. 서버 코드
vi server.js (서버.js 파일 수정하는 것. 이름은 원하는데로)
// insert 모드로 아래 코드 복사 붙여넣기
상황에 따라 아래 파일을 수정해서 쓰면된다.
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}`);
});
node server.js
계속 켜있게 하려면,
node server.js & <--- 붙이면 계속 켜져있는 상태가 된다.
'Frontend Study - 2 > 배포' 카테고리의 다른 글
AWS : EC2란 무엇이고, S3는 무엇인가? CloundFront는 무엇인가? (0) | 2022.11.15 |
---|