라즈베리파이로 웹 서버 만들기 (3) - 배포하기
프로젝트/소규모프로젝트들

라즈베리파이로 웹 서버 만들기 (3) - 배포하기

728x90

사실 저번에 DB를 연결했기에 추가적인 작업은 별로 할 것이 없다.

 

 

 

nodejs를 설치하고 그대로 배포를 해주면 된다.

 

 

 

NodeSource 사의 레포지토리를 활용하여 최신 버전의 Node.js를 설치할 수 있다.

 

curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -

setup_{숫자}.x

 

에서 숫자부분을 바꾸면 node의 버전을 변경하는것이 가능하다.

 

sudo apt install nodejs

 

이후 노드를 설치한 후에 버전을 확인하면 된다.

 

node --version

 

 

 

 

노드는 foreground process이기 때문에 터미널이 꺼지면 서버또한 꺼지게 된다. 이러한 점을 관리해주는 것이 PM2이다. 서버가 에러로 인해 꺼졌을때 다시 켜주는 것 외에 클러스터링이나 멀티프로세싱 기능도 지원한다.

 

 

sudo npm i pm2 -g

 

 

CRA로 만든 정말 간단한 리액트 프로젝트를 하나 만들고, 이를 깃헙에 올려보자.

 

git clone "repo주소"

이를 라즈베리파이에서 클론해온 후 pm2를 활용해서 실행하면 된다.

 

 

 

우선 프론트단에서 테스트를 해보자.

$ pm2 start node_modules/react-scripts/scripts/start.js

해당파일을 편집하면 직접 편집해볼수도 있다.

 

 

 

 

 

서버또한 비슷한데, express와 같은 경우 

/bin/www

해당파일을 pm2로 실행시키면 된다.

 

 

 

실제로 배포가 잘 되어있는걸 확인할 수 있다!

728x90