Voyage_dev
항해하는 개발자
Voyage_dev
전체 방문자
오늘
어제
  • All (158)
    • Front-End (102)
      • HTML & CSS (7)
      • JavaScript (13)
      • Web & 표준 & ETC (15)
      • React (17)
      • Next (13)
      • TypeScript (6)
      • Zustand (1)
      • AWS (4)
      • Redux (1)
      • MobX (9)
      • GraphQL (1)
      • Flutter (15)
    • 알고리즘 (12)
      • Java (11)
      • JavaScript (1)
    • Git (1)
    • Project (2)
      • 개인 (1)
      • 팀 (1)
    • Books (30)
      • 누구나 자료구조와 알고리즘 (20)
      • Do It 타입스크립트 프로그래밍 (9)
    • 자료구조 (6)
    • 취업 (1)
    • 항해플러스 (1)
      • 1주 (1)

블로그 메뉴

  • 👨🏻‍💻 Github
  • 💻 Rss 블로그
  • 🏊‍♂️ Resume
  • 🗂️ Portfolio

인기 글

최근 댓글

hELLO · Designed By 정상우.
Voyage_dev

항해하는 개발자

AWS 터미널 명령어
Front-End/AWS

AWS 터미널 명령어

2022. 5. 8. 20:38

배포 과정 관련 코드들

  • 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
    'Front-End/AWS' 카테고리의 다른 글
    • [AWS] 정적 웹페이지 배포하기 ( S3 + CloudFront )
    • [AWS] CLI
    • AWS란?
    Voyage_dev
    Voyage_dev

    티스토리툴바