본문 바로가기

기타/IT

NodeJS 프로젝트 호스팅하기 · heroku

heroku

Node js로 서버를 구현하면서, 프로젝트를 로컬호스트에만 작동시키는 것이 아니라 간단하게 웹상에 등록을 하여 언제 어디서든 확인하고 싶을 때가 있다. 그래서, 관련된 호스팅을 찾아보며 무료 서버 지원 여부와 기간, 사용성 등을 비교하게 되면서 간단한 방법을 찾게 되었는데 그것이 바로 heroku 였다.

우선 프로젝트 배포에 앞서, 프로그래밍 언어와 Git의 사용법을 어느정도 알고 있으면 이해하기가 쉽다.

heroku cli 를 통하여 현재 작성하는 Node Js 프로젝트를 서버에 배포하여 전용 웹사이트를 만들 수 있으며, github의 저장소에 올려진 프로젝트를 직접 heroku에 연결을 하여 웹서버를 구현할 수도 있다.

서버 사용을 하기 위해 heroku에 접속하여 회원가입을 해야한다.

primary development language는 배포할 개발 언어를 선택한다. Node js 외에도 다양한 언어들을 사용할 수 있다.

create 버튼을 누르면, 확인 이메일이 발송되는데 비밀번호 설정 후 로그인이 가능하다.

로그인을 하게 되면, 처음으로 app을 만들어야 한다. 이러한 과정은 heroku cli에서도 가능하다.

다만 cli를 사용하려면 따로 프로그램을 설치해야 하며 자세한 내용은 heroku-cli 페이지에서 확인하거나 다른 블로그에서 좋은 정보들을 많이 참고할 수 있다.

app의 이름을 설정하고, create app을 클릭한다.

앱이 생성되면, 대시보드 중간에 heroku cli 사용과 github 연결 탭이 보이는데, github 선택을 하면 접근 권한 허용 창을 띄운다.

깃허브 아이디와 비밀번호를 입력하고, 접근 허용을 하면 heroku에서 나의 github repository에 접근을 하게 된다.

이미 구현이 되어 있는 github 저장소 내의 Node js 어플리케이션을 선택하여 Connect로 연결을 하면 선택된 github의 저장소가 heroku에 배포될 준비를 마치게 된다.

Automatic deploys는 github 저장소의 프로젝트가 업데이트 될때마다 자동으로 새버전으로 배포가 되는 옵션이다.

아래의 Manual Deploy의 Deploy branch 버튼을 클릭하면, github 프로젝트가 heroku로 배포가 되고, heroku에서는 배포되는 어플리케이션의 루트 디렉토리에 있는 package.json에 작성된 스크립트 및 노드 모듈과 서버 환경 설정을 자동으로 구성하게 된다.

package.json에서 start script의 내용을 앱의 실행 명령어로 작성되어야 한다. 소요 시간은 파일 크기에 따라 다르다.

그렇게 노드 환경 설정과 모듈 설치 및 빌드가 되어 heroku에 정상적으로 배포가 되며, view 버튼을 클릭하거나 <app 이름>.herokuapp.com에 접속을 하면 웹페이지를 확인할 수 있다.

heroku의 특징으로는, 기간 제한 없이 계속해서 운영되지만 오래동안 서버에 요청이 없다면 수면상태로 전환이 되며, 다음 접속 요청시 접속 시간이 늦어지게 된다.

'기타 > IT' 카테고리의 다른 글

집(Home)에서 서버 구축해보기 · 포트포워딩  (0) 2019.11.22