TIL 28. AWS

주민콩·2021년 1월 6일
0

앞서 기록했던 EC2에 이어서 설명을 하자면 AWS 배포까지 하면 고지가 보인다 ..
다해써 .. 금방할수이쎠 ..

AWS ?

Amazon Web Service로 클라우드 서비스이다. AWS에서 말하는 클라우드는 ‘네이버 클라우드’나 ‘구글 드라이브’와는 좀 다른 개념이다. 네이버 클라우드나 구글 드라이브는 일반 소비자를 대상으로 서비스를 제공한다. 사용자는 이러한 클라우드 서비스로 저장공간에 접근하거나 문서 작성 프로그램을 웹브라우저에서 곧바로 이용할 수 있다. AWS의 주요 고객은 개발자 엔지니어 등 IT 관계자이며, AWS가 제공하는 서비스는 ‘인프라’다.

1. git clone (repo 주소) 해서 프로젝트 불러오기

2. ls로 파일 확인하고 디렉토리 들어가기

3. 처음에 clone 받으면 node_modules이나 package-lock.json이 없기 때문에 설치해줘야 한다.

  • curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
  • sudo apt-get install nodejs

node -v, npm -v 쳐서 node와 npm 상태를 확인해본다.

4. npm install 로 필요한 프로그램 설치하기

5. npm run build

배포되는 웹이다 보니 만약 우리가 쓰고있는 파일 그대로를 올리면 백엔드에서 받아오는 정보가 노출되므로 index.html로만 보일 수 있게 build 설치 !

그리고 원래 백엔드 장고로 보지만 프론트입장에서는 다운받으면 너무 복잡하고 어렵기 때문에 그나마 우리와 가까운 node.js 사용 !

6. npm install express --save

ls로 파일안으로 들어가고 vi server.js 입력하고

const http = require("http");
const express = require("express");
const path = require("path");

const app = express();

const port = 3000;

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 로 저장하고 나가기 !

7. node server.js 로 이제 서버 연결 하기

서버 안꺼지게하려면 node server.js & 가 있지만 백그라운드 실행에서 더 구체적으로 알아보쟈

이제 처음에 썼던 IP:3000 하면 배포 완료 🔥

백그라운드 실행 (서버 계속 열려있도록 )

  • nohup node server.js & (& 꼭 쓰기)

위 명령어를 입력하면 log를 nohup.out파일에 저장한다는 메세지가 나오는데 그냥 엔터치고 넘기기 ~
그러면 숫자 네자리 ex)1234 가 나오는데 종료할때 필요하기때문에 기억하기

  • ps, ps -ef 입력해서 잘 동작하는지 확인하기
  • 종료할때는 kill (숫자)로 프로세스 종료 !!
profile
코딩하면서 기록하는 메모장 ᰔ

0개의 댓글