-
nodejs 서버 호스팅 : heroku 사용하기개발도구 2019. 6. 2. 23:55
히로쿠 가입하기 (가입만)
히로쿠 CLI 설치하기
https://devcenter.heroku.com/articles/getting-started-with-nodejs#set-up
설치위치는 원하는곳으로
별다른 설정은 필요없고
자동으로 환경변수 설정하기 체크되어있으니 체크박스 풀지말기
히로쿠는 git을 이용해 호스팅을 한다.
프로젝트 세팅
리스닝 코드가 있는 파일의 이름을 index.js 로 설정
port 주소를 다음과 같이 설정
const PORT = process.env.PORT || 원하는포트주소;heroku 호스팅을 통해 리스닝시에는 process.env.PORT에서 포트를 참조해야한다.
package.json 설정
nodejs의 package.json에 다음과같은 내용이 존재해야한다.
start 명령어로 서버를 실행할 수 있어야함
"script" : { "start" : "node index.js" }npm과 node 버전 기입
"engines" : { "node" : "node버전" "npm" : "npm 버전" }다음 명령어로 확인
node -v
npm -v
.gitignore 파일에서 node_modules 파일을 제외시켜야한다.
히로쿠 세팅
윈도우는 cmd 창에서 명령을 입력
heroku login : 로그인하기
heroku login그러면 브라우저 뜨고 로그인창이 뜬다.
입력하면

로그인완료

한번 로그인하면 계속 유지
로그아웃 명령을 해야 로그아웃된다.
heroku logout
프로젝으에 git 초기화가 안된 상태라면 초기화(.gitignore 파일과 .git 숨김파일 생성)
git init이름 지정하여 생성
명령은 cmd 위치를 프로젝트 디렉토리로 위치시킨 후 진행해야한다.
heroku create :
heroku create 원하는이름이 이름은 이름.herokuapp.com 의 도메인이 되면서
git 저장소 이름이 된다.
따라서 이름은 heroku 내에서 유일한 값을 넣어야한다.

첫번째는 도메인(주소) | 두번째는 git 저장소 주소
*이름 자동 생성하려면
heroku create

알아서 아무이름으로 생성된다.
create 명령후에는
현재 프로젝트에 heroku라는 git 저장소이름과 master 브런치가 자동생성
또한 heroku 원격 저장소와 heroku 로컬저장소가 자동연결됨
이 heroku 저장소이름을 지정해 git 명령을 수행하면 된다.
https://dashboard.heroku.com/apps
로그인했으면 대쉬보드에서 자신의 호스팅 목록을 확인할 수 있다.
대쉬보드에서 이름을 변경하거나 앱을 삭제하는 등의 관리를 할 수 있다.
git remote -v
명령어로 현재 프로젝트의 git 원격 저장소 주소를 확인할 수 있다.
heroku 에 프로젝트 업데이트 과정은 다음과같다.(3번이 핵심)

1. git add .
2. git commit -m "메세지"
3. git push heroku master
heroku 원격저장소 업로드
git push heroku master자동으로 호스팅이 시작되며
heroku open
heroku open명령어로 바로 사이트를 띄울 수 있다.
heroku ps:scale web=1
heroku open
*비밀번호같은 중요한 변수는 환경변수를 설정해 코드에서 이용
환경변수 설정
프로젝트 대쉬보드에서 settings 에 들어가
Config Vars 항목에서

Reveal Congif Vars 버튼 클릭 후 세팅항목이 나옴
nodejs 의 경우 process.env로 접근한다.
신용카드 등록하면 한달에 1000시간 무료 호스팅 가능하다고 한다. 그냥 무료로 쓰는것과 다름없다.
신용카드 등록은 account setting의 Billing 탭을 보면 credit card 항목에 있다.
'개발도구' 카테고리의 다른 글
[GCP] GCE 인스턴스 생성하고 접속하기 + Anaconda환경에서 Jupyter Notebook설치 (0) 2021.06.12 AWS EC2에 Docker 설치 & 개발환경 구축 (0) 2021.05.26 Jupyter Notebook을 통한 서버 접속 (0) 2021.05.24 Docker 사용하기 (0) 2021.05.23 [firebase] SHA 해쉬값 (지문) 얻기 ( 디버그 서명 인증서 ) (0) 2019.07.15