728x90
이전 시간에는 라즈베리파이(이하 라파)에 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이다. 서버가 에러로 인해 꺼졌을 때 다시 켜주는 것 이외에도 클러스터링 혹은 멀티프로세싱 기능도 지원한다.
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에서 자주 사용되는 명령어는 필요에 따라 아래의 글에서 확인하자.
728x90
'프로젝트 > 북극팽귄 프로젝트' 카테고리의 다른 글
라즈베리파이를 이용한 웹 서버 구축 (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 |