
인스턴스를 생성 후 배포하는 방법에 대해 알아보도록 하자.
ssh -i bbangho.pem ubnuntu@1.1.1.1 // ssh -i key이름.pem os@aws 퍼블릭 IP 주소
위와 같이 aws에서 발급받은 키 페어를 통해 서버를 열수 있다.
chmod 400 bbangho.pem
해당 키 페어의 권한이 낮을 경우 에러가 발생할수 있는데 위의 명령어로 키 페어의 권한을 수정하면 된다.
curl -sL https://deb.nodesource.com/setup_x.x | sudo bash - sudo apt-get update sudo apt-get install nodejs
우분투 서버에는 설치되어 있는게 아무것도 없으므로 node를 설치한다.
git clone 프로젝트_repo_주소 cd 프로젝트_repo_주소 npm install
git에서 배포할 프로젝트를 clone 받고 패키지들을 설치해준다.
npm install express --save
배포할 서버를 설치한다.
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 서버 설정을 위해 위의 코드를 복사 붙혀 넣기 한다.
npm run build
배포를 위해 빌드를 한다.
node server.js
서버를 실행한다. 그럼 이제 aws 퍼블릭 IP 주조 + 설정한 포트 번호를 url에 입력하면 배포한 페이지에 접속할 수 있게 된다
node server.js &
터미널을 종료해도 서버를 계속 가동하고 싶으면 & 를 추가하면 된다.