이전 시간에는 라즈베리파이(이하 라파)에 DB(MariaDB)를 연결했다.
이제 nodejs를 설치하고 React 애플리케이션을 배포해보도록 하자.
NodeJS 설치
NodeSource의 레포지토리를 이용해 최신 버전의 Node.js를 설치할 수 있다.
curl -sL https://deb.nodesource.com/setup_20.x | sudo bash -
위의 코드에서 setup_[숫자].x 의 숫자는 설치하고자 하는 Nodejs의 버전을 의미하며 이 글 아래에서는 Nodejs 버전을 업그레이드 혹은 다운그레이드 하는 방법을 정리할 것이다.
이제 Nodejs를 설치해보자.
sudo apt install nodejs
설치가 끝났다면 설치된 Nodejs의 버전을 확인해보자.
node --version

pm2를 이용한 무중단 배포
노드는 foreground process이기 때문에 터미널이 꺼지게 되면 서버또한 꺼지게 된다. 이러한 문제는 지속적인 웹 서비스를 제공하는데에 어려움이 있는데, 이 점을 관리해주는 것이 PM2이다. 서버가 에러로 인해 꺼졌을 때 다시 켜주는 것 이외에도 클러스터링 혹은 멀티프로세싱 기능도 지원한다.
PM2를 활용한 Node.js 무중단 서비스하기
이 글은 마이크로소프트웨어 393호에 기고된 글입니다. 자바스크립트는 가장 널리 사용되는 클라이언트 측 프로그래밍 언어이자 프론트엔드 웹 개발 언어 중 하나입니다. 그리고 Node.js는 Chrome의
engineering.linecorp.com
sudo npm i pm2 -g
설치가 끝나면 배포하고자 하는 프로젝트를 깃허브에서 가져와보자.
git clone "repo주소"
이제 가져온 프로젝트의 프로퍼티로 이동후 pm2를 활용해 실행해보자.
CRA를 이용한 프로젝트는 아래의 명령어
$ pm2 start node_modules/react-scripts/scripts/start.js
만약 위의 명령어가 실행되지 않으면 아래의 명령어를 실행해보자.
$ pm2 start npm -- start
백엔드(Node혹은 Express)의 경우는 아래의 명령어로 실행하자.
$ pm2 start ./bin/www

PM2에서 자주 사용되는 명령어는 필요에 따라 아래의 글에서 확인하자.
[#. PM2] PM2 이용해서 백그라운드에서 NODE/REACT 무중단 실행하기
https://pm2.keymetrics.io/ PM2 - Home Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance. pm2.keymetrics.io ① pm2 설치(전역) $ sudo npm install pm2 -g ②
developer0809.tistory.com
'프로젝트 > 북극팽귄 프로젝트' 카테고리의 다른 글
라즈베리파이를 이용한 웹 서버 구축 (2) - 라즈베리파이에 DB 서버 구축하기 (0) | 2024.10.18 |
---|---|
라즈베리파이를 이용한 웹 서버 구축 (1) - 외부에서 라파 접속 가능하게 하기 (0) | 2024.09.27 |
페이지 이동에 따른 게임 실행 에러 해결.V2 (5) | 2024.09.11 |
페이지 이동에 따른 게임 실행 에러 해결 (0) | 2024.09.09 |
웹 게임 만들기를 도와주는 Kaplay 라이브러리 사용 (4) | 2024.09.03 |
이전 시간에는 라즈베리파이(이하 라파)에 DB(MariaDB)를 연결했다.
이제 nodejs를 설치하고 React 애플리케이션을 배포해보도록 하자.
NodeJS 설치
NodeSource의 레포지토리를 이용해 최신 버전의 Node.js를 설치할 수 있다.
curl -sL https://deb.nodesource.com/setup_20.x | sudo bash -
위의 코드에서 setup_[숫자].x 의 숫자는 설치하고자 하는 Nodejs의 버전을 의미하며 이 글 아래에서는 Nodejs 버전을 업그레이드 혹은 다운그레이드 하는 방법을 정리할 것이다.
이제 Nodejs를 설치해보자.
sudo apt install nodejs
설치가 끝났다면 설치된 Nodejs의 버전을 확인해보자.
node --version

pm2를 이용한 무중단 배포
노드는 foreground process이기 때문에 터미널이 꺼지게 되면 서버또한 꺼지게 된다. 이러한 문제는 지속적인 웹 서비스를 제공하는데에 어려움이 있는데, 이 점을 관리해주는 것이 PM2이다. 서버가 에러로 인해 꺼졌을 때 다시 켜주는 것 이외에도 클러스터링 혹은 멀티프로세싱 기능도 지원한다.
PM2를 활용한 Node.js 무중단 서비스하기
이 글은 마이크로소프트웨어 393호에 기고된 글입니다. 자바스크립트는 가장 널리 사용되는 클라이언트 측 프로그래밍 언어이자 프론트엔드 웹 개발 언어 중 하나입니다. 그리고 Node.js는 Chrome의
engineering.linecorp.com
sudo npm i pm2 -g
설치가 끝나면 배포하고자 하는 프로젝트를 깃허브에서 가져와보자.
git clone "repo주소"
이제 가져온 프로젝트의 프로퍼티로 이동후 pm2를 활용해 실행해보자.
CRA를 이용한 프로젝트는 아래의 명령어
$ pm2 start node_modules/react-scripts/scripts/start.js
만약 위의 명령어가 실행되지 않으면 아래의 명령어를 실행해보자.
$ pm2 start npm -- start
백엔드(Node혹은 Express)의 경우는 아래의 명령어로 실행하자.
$ pm2 start ./bin/www

PM2에서 자주 사용되는 명령어는 필요에 따라 아래의 글에서 확인하자.
[#. PM2] PM2 이용해서 백그라운드에서 NODE/REACT 무중단 실행하기
https://pm2.keymetrics.io/ PM2 - Home Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance. pm2.keymetrics.io ① pm2 설치(전역) $ sudo npm install pm2 -g ②
developer0809.tistory.com
'프로젝트 > 북극팽귄 프로젝트' 카테고리의 다른 글
라즈베리파이를 이용한 웹 서버 구축 (2) - 라즈베리파이에 DB 서버 구축하기 (0) | 2024.10.18 |
---|---|
라즈베리파이를 이용한 웹 서버 구축 (1) - 외부에서 라파 접속 가능하게 하기 (0) | 2024.09.27 |
페이지 이동에 따른 게임 실행 에러 해결.V2 (5) | 2024.09.11 |
페이지 이동에 따른 게임 실행 에러 해결 (0) | 2024.09.09 |
웹 게임 만들기를 도와주는 Kaplay 라이브러리 사용 (4) | 2024.09.03 |