배포 과정 관련 코드들
- Amazon에서 받은 키페어
- chmod 뒤에 숫자 세개가 나오는데 차례대로 나 / 그룹 / 전체에 대한 권한을 의미한다
- 권한은 3가지로 read(4) , write(2), execute(1)가 있는데 이 숫자들 합의 조합으로 권한을 나타낸다
- chmod 400의 의미는 4/0/0 으로 나에게만 읽기 권한이 있도록 하는 것이다
- 권한 설정이 완료되었으면 우분투 서버 열기
- ubuntu@ 뒤에 ip 주소는 인스턴스를 생성하고 설정한 퍼블릭 혹은 탄력적 IP 주소이다
- 이렇게 나오면 우분투 서버에 성공적으로 들어간거다
- 여기서 원하는 프로젝트를 클론하면 된다 하지만 그 전에 우분투 서버에 Node를 설치해야 한다
curl -sL <https://deb.nodesource.com/setup_14.x> | sudo bash -
sudo apt-get update
sudo apt-get install nodejs
- 설치가 완료되었으면 프로젝트를 clone하고 npm도 설치
git clone 프로젝트_repo_주소
cd 프로젝트_repo_주소
npm install
- express도 설치해주자
- express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크
npm install express --save
- 클론받고 npm까지 설치 했으면 클론한 폴더로 들어가보자
- vi server.js를 입력해 server.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}`);
});
- 이렇게 넣었으면 esc 누르고 :wq로 빠져나오자
- node server.js 로 서버를 run
- node server.js & 로 열면 서버가 종료되도 사용할 수 있게 만들어준다
하지만 이렇게 원격으로 접속 후 터미널을 닫으면 서버가 끊어져 계속 다시 실행해 줘야하는 문제가 발생한다
리눅스에는 screen이라는 명령어가 있다. 이 명령어는 백그라운드에서 계속 실행하게 해준다.
새로운 터미널이 실행됨
screen
Screen 빠져나오기
Ctrl + A 누른 후 D
다시 screen 터미널로 이동
screen -r
현재 screen 확인방법
screen -ls
사용하지 않는 screen 죽이기
kill screen 번호
'Front-End > AWS' 카테고리의 다른 글
[AWS] 정적 웹페이지 배포하기 ( S3 + CloudFront ) (0) | 2023.06.19 |
---|---|
[AWS] CLI (0) | 2023.06.19 |
AWS란? (0) | 2022.05.08 |