프로젝트/북극팽귄 프로젝트
라즈베리파이를 이용한 웹 서버 구축 (3) - 배포
58청춘
2024. 10. 25. 14:23
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