Heroku(헤로쿠) 가입, Heroku CLI 다운로드, 간단 사용법

Heroku

Heroku(헤로쿠)는 제작한 웹사이트를 인터넷에 올릴 수 있도록 서버를 제공하는 사이트들 중 하나입니다.

지금까지 강의에서 만든 사이트들은 자신의 컴퓨터를 서버로 하여 http://localhost:포트번호로 접속할 수 있는데 localhost는 내 컴퓨터안에서만 접속이 가능합니다. 다른 컴퓨터에서 접속할 수 없죠. 작성한 코드를 인터넷을 통해 다른 컴퓨터에서 볼 수 있는 방법에는 여러가지가 있는데, 헤로쿠를 통해 인터넷과 연결하는 방법을 알아 봅시다.

헤로쿠의 가입은 무료이며, 유료로 전환이 가능합니다. 현재 무료 버전의 제약은 크게 2가지입니다.

  1. 30분간 방문이 없는 경우 사이트를 sleep시킵니다. 사이트가 sleep된 상태에서 페이지 요청이 들어오는 경우 사이트가 다시 깨어나지만 10~30초 정도 시간이 걸립니다.
  2. 한 계정당 한달의 550시간만 사용가능합니다. 단 계정에 신용카드 등록을 하는 경우 1000시간 사용가능합니다.신용카드에서 돈이 나가진 않습니다. 그냥 신용카드 정보만 등록합니다. 한달은 최대 744시간이므로 신용카드 등록을 한다면 하나의 사이트를 한달 내내 돌려도 시간 한도를 넘어가지 않습니다. 사이트가 여러개라서 시간이 초과되면 사이트에 더이상 접속할 수 없습니다.

두가지 제약이 있지만 연습용, 발표용, 포트폴리오용으로는 무료버전도 충분합니다.

** 위 내용은 이 글을 읽고 계시는 시점에 heroku.com의 사정에 따라 바뀔수도 있습니다. 정확한 내용은 https://www.heroku.com/pricing 에서 확인해주세요.

헤로쿠는 git을 사용합니다. 내 컴퓨터안의 git 저장소 코드를 헤로쿠 서버에 올리게 되므로 git의 개념과 기본 사용법을 알고 있어야 합니다.

참고로 heroku는 한국에서는 '헤로쿠'가 공식 명칭이 되버린 것 같지만 사실 '히로쿠'라고 발음합니다. 어원을 찾아보려고 했는데 공식적으로 어원이 나와 있는 웹사이트는 못찾았지만, hero(영웅-히로)와 일본어인 haiku를 합쳐서 만든 말이라고 하네요.

Heroku 가입

https://www.heroku.com 로 이동하여 우측 상단에 Sign up 버튼을 누릅니다.

아래 form을 작성하고 create free account 버튼을 눌러주면 가입 끝! 제 강의에서 만든 사이트를 헤로쿠에 올리려면 Primary Development Language는 Node로 합니다.

Heroku CLI 다운로드

내 컴퓨터에서 헤로쿠를 사용하기 위해서는 Heroku CLI(command line interface)를 설치해야 합니다. 사이트 우측 상단의 메뉴에서 documentation을 누르면 https://devcenter.heroku.com 로 이동하는데, 여기서 Get Started 를 선택해서 튜토리얼을 진행하시면 헤로쿠 cli를 받는 링크가 나옵니다.

아니면 https://devcenter.heroku.com/articles/heroku-cli 로 가서 자신의 시스템에 맞는 프로그램을 설치하면 됩니다.

Heroku CLI 중요 명령어들

Heroku CLI를 설치하였으면 CLI 사용법을 알아 봅시다. 각자 git bash나 자신이 선호하는 터미널을 엽니다. 윈도우: '윈도우키'-> 검색창에 cmd 입력후 엔터, 맥OS: 'Command 키' + 'Space 키'를 동시에 누른 후 terminal 입력후 엔터를 입력하여 기본 터미널을 열 수 있습니다.

Heroku CLI가 설치되었으면 이제 'heroku'로 시작하는 명령어들을 사용할 수 있습니다.

$ heroku login

위에서 생성한 헤로쿠 계정으로 로그인을 하는 명령어 입니다. Heroku CLI의 기능을 사용하기 위해서는 먼저 로그인을 해야합니다.

$ heroku logout

한번 로그인이 되면 컴퓨터를 껐다 켜도 로그인이 계속 지속되고 로그아웃을 하기 위해서는 위 명령어를 입력해야 합니다.

$ heroku create

Git 저장소가 생성된 폴더에서만 사용 가능한 명령어 입니다. 헤로쿠에 저장소를 생성하고 현재 git 저장소에 헤로쿠 저장소 위치를 heroku라는 이름으로 기억시킵니다.

이때 헤로쿠 저장소 이름이 랜덤하게 생성되고, 이 이름이 웹사이트의 주소가 되는데, 이 이름을 지정하고 싶으면

$ heroku create 저장소_이름

으로 저장소 이름을 create 다음에 입력해 주면 됩니다. 이 저장소 이름은 모든 헤로쿠 사용자간에 유일(unique)해야 합니다.

헤로쿠 저장소에 저장된 코드는 저장소_이름.herokuapp.com 으로 접속할 수 있습니다.

$ heroku config:set 환경변수_KEY=환경변수_VALUE

헤로쿠 저장소에 환경변수를 설정합니다. 사이트에서 사용되는 모든 환경 변수들은 헤로쿠 저장소에도 설정해 주어야 사이트가 정상적으로 작동하겠죠.

$ heroku config

헤로쿠 저장소의 모든 환경변수들을 보여주는 명령어입니다.

$ heroku config:get 환경변수_KEY

하나의 환경변수를 보여주는 명령어입니다.

$ heroku config:unset 환경변수_KEY

환경변수를 지우는 명령어 입니다.

$ heroku logs

헤로쿠 서버의 console log를 보여주는 명령어 입니다. 오류를 확인하거나 debug를 할 때 사용됩니다.

Heroku 저장소로 코드 올리기

heroku create로 헤로쿠 저장소가 생성되면 현재폴더의 git에 헤로쿠 저장소 주소가 heroku라는 이름으로 기억됩니다. 헤로쿠 저장소에 push를 해주면 사이트가 자동으로 인터넷으로 등록됩니다.

$ git push heroku master

헤로쿠 저장소(heroku)에 master branch를 push하는 명령어입니다.

마치며...

아직까지 git을 공부하지 않았다면 헤로쿠는 git을 공부해야하는 좋은 이유가 된다고 생각됩니다.

실제 헤로쿠를 사용하여 코드를 올리는 방법은 개별 포스트로 등록됩니다.

댓글

하영아빠 2017.07.17
우와~~~~~ 이런 서비스하는 곳이 있었군요. 서버는 우째해야하나 고민하고 있었는데 감사합니다!!
I
Ian H 2017.07.17
@하영아빠,
Heroku 말고도 더 있지만 제가 아는게 Heroku뿐이라..  사실 제 블로그도 heroku에 올라가 있습니다^^
김용재 2020.04.19
안녕하세요, 아직 활동 하시는 지는 모르겠지만! git bash로 heroku login 후에 자동으로 $가 생성되지 않아 어떤 명령어도 되지 않습니다 이에대한 해결법을 아십니까? 어떤 키워드로 검색해야하는지도 감이 안잡혀서 답답하네요 ㅠㅠ 제가 git을 포함하여 모든 프로그램을 로컬C드라이브가 아닌 로컬D드라이브에 설치했는데 이게 영향이 있는지 궁금합니다.
I
Ian H 2020.04.20
@김용재,
안녕하세요. 저도 지금 git bash에서 해보니 heroku login 명령어 입력후 브라우저에 heroku 로그인 페이지가 뜨고, 로그인 정보 입력 후 git bash가 $로 돌아가질 않네요.  제 경우에는 ctrl+c를 입력하여 강제로 $로 돌아갔습니다. 이후에 heroku에 login이 된 상태로 작동하는 것을 확인하였구요. 한번 해보세요^^
김주연 2020.05.19
안녕하세요. 저는 지금 졸업작품으로python Flask를 이용하여 제작한 웹페이지를 어플리케이션으로 받아오는 과정을 진행중에 있습니다. 제가 git을 다뤄본 경험도 없고 python Flask또한 처음 다뤄보아서 오류가 잡기 힘드네요ㅜㅜ 헤로쿠 저장소에 업로드할 파일들을 git에 추가하는 부분에서 warinig도 엄청뜨고 결국에는 error뜨더라구요 혹시 Flask 파일 업로드 방법에 대해 알고계시면 도움좀 주실 수 있나요
I
Ian H 2020.05.19
@김주연,
안녕하세요? 제가 python이나 flask를 써본적은 없지만, 구글에서 "how to deploy flask app to heroku" 로 검색하니 검색결과가 많이 나오네요. 
https://pybit.es/deploy-flask-heroku.html
deploy방법은 알고 계신데 오류때문에 질문주신 거라면, 일단 자신의 코드가 거의 없는 빈 flask 프로젝트를 만든 후에 먼저 heroku에 deploy해보세요. 이것이 성공하면 자신의 코드를 조금씩 넣으면서 계속 deploy하다보면 어느 부분에서 문제가 있는지 알 수 있습니다.
댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP