NCP 서버를 통한 리액트 프로젝트 배포

강인호·2023년 3월 4일
0

개인저장

목록 보기
83/87

공식 문서

기본적으로 NCP에서 서버를 생성하고 putty를 통해 접속 한 후의 배포 과정은

서버 생성 시 application, nodejs 선택 후 생성 시 nvm이 설치된 상태로 설치가 됨

putty에서 서버 접속용 포트포워딩 ip 입력 후 port에는 허용 포트 번호 입력 후

root 계정과 관리자 비밀번호 입력 후 접속

nvm(노드 버전 매니저)가 깔린 상태의 리눅스 환경에 접속할 수 있다.

nvm list-remote

로 다운로드 가능 한 노드 버전들을 확인할 수 있다.

근데 나는 19.7버젼을 다운받으니까 계속 이후의 과정들이 진행되지 않아서 버전을 17으로 내렸음.

nvm install v17

다운로드 후에는

npm -v
node -v

입력해서 버젼을 확인한다.

버전 확인 후

npm install express

만약 버젼 안뜨면 리눅스 재접해보고 서버도 재가동까지 한번 해봐야..(재가동 때문에 된건지는 모르겠는데 재가동 하고 접속하니 버젼이 확인되었음)

배포 참고 링크
(이분은 aws를 사용했음)

그 후에는 git clone 으로 원하는 프로젝트를 클론 해온 후 해당 폴더로 들어가서

npm install

npm run build

를 하면 폴더에 build 파일이 생성된다.

vi server.js

파일 편집기를 열어준 후 i를 눌러서 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}`);
});

이후에 server.js 파일을 구동해서 정상적으로 구동이 되면 된다.

sudo node server.js & // &는 nohup으로 돌린다는 뜻

나는 이래도 터미널을 끄니까 배포가 끊기길래 찾아보니 diswon 설정을 따로 해주어야 된다고 한다.

위의 코드 입력 후

disown -h

한번 더 입력하니 터미널을 꺼도 잘 돌아간다.

접속은 포트포워딩 ip가 아닌 공인ip:포트번호 의 형식을 입력하면 페이지가 뜬다.

0개의 댓글