- 준비물 : Centos7, 완성된 React + NectJS 기반 결과물
개요
-
centos7, node 16설치
-
도메인 연결
-
front port 3000연결 (80으로 들어오는 포트 3000으로 우회하기
-
pm2 사용해서 node 무중단 프로세스 만들기
centos에 yarn 설치 (선택)
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
node설치
$curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash
$sudo yum install nodejs
버전 확인
$node --version
$npm --version
git 설치, clone
$cd /home
$mkdir pieauction
$cd pieauction
$yum install git
(PW : scvwqCaH6PLnsJKrZeab )
clone받은 프로젝트 폴더
pie-auction-front에서 작업진행
$cd pie-auction-front
package 파일읽어 라이브러리 설치하기 npm install
$ npm install
도메인 setting
vi .env.production
(아래 내용 작성 후)
NODE_PATH=src/
REACT_APP_HOME_URL="https://www.domain.com"
(esc)
:wq!
(enter)
env파일 적용 위한 env-cmd 설치
$npm install env-cmd
package, build path 세팅
vi package.json
("build"부분 찾아 아래처럼 변경 후)
"build": "react-scripts build",
(esc)
:wq!
(enter)
방화벽 셋
$ `sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000`
배포 및 시작
$npm build
$npm start
무중단 배포를 위한 (npm)툴 설치
$ npm install pm2 -g
pm2 프로세스 설정하기
$ pm2 start npm --name "nsmanager" -w -i max -- start
-
-w 는 파일의 변경이 생길 때 재시작 하는 옵션이라고 한다.
-
-i max 는 클러스터모드라고 하는데 잘 모르겠다 아직.
-
--name 은 말 그대로 이름 붙여주는 것.