안녕하세요! 오늘은 heroku 서비스를 이용해서 django를 이용해 만든 웹서비스를 무료로 배포하는 방법 을 알려드리겠습니다. 저도 이번에 해보면서 굉장히 편하고, 무료라 데모 사이트나 소규모 사이트, 포트폴리오 사이트 를 올리는 데에 되게 좋겠다는 생각을 했습니다. django 웹 소스도 github 링크를 공유해 드리니 필요하시면 이용하셔도 괜찮습니다!
https://www.heroku.com/
Cloud Application Platform | Heroku
Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.
www.heroku.com
https://github.com/woo1/django-heroku-demo
GitHub - woo1/django-heroku-demo: github django web service demo for heroku
github django web service demo for heroku. Contribute to woo1/django-heroku-demo development by creating an account on GitHub.
github.com
소스가 필요하신 분들은 위의 github 링크에서 소스를 받아주시고요. (Fork 버튼을 눌러서 본인 계정으로 소스를 담은 뒤 본인 PC로 소스 받아서 수정하시면 추후 적용이 편리합니다.)
heroku에 가입이 안된 경우, 회원가입을 먼저 해주시고 진행해 주시면 됩니다.
heroku 지원 언어
사이트에서 볼 수 있듯이 공식적으로 지원하는 언어가 굉장히 많습니다.
Node.js, Java, PHP, Python, Go 등 웬만한 언어는 다 지원을 해서 간단한 Backend API 서버 또는 웹 서비스를 올려놓기 좋은 환경인 것 같습니다.
heroku는 github와 연동이 가능한데요.
소스를 수정한 후 나의 git repository의 master branch에 Commit, Push를 진행하면 heroku에서 자동으로 소스 업데이트를 해서 적용해줍니다.
자동 배포 과정을 통해 노력을 많이 줄일 수 있죠.
heroku 사이트
그래서 우선 사이트에 로그인 한 뒤, 오른쪽 상단의 New - Create new app 을 클릭해 주시고요.
새 앱 만들기
app 이름을 영어로 써주시면 됩니다.
region은 미국, 유럽만 있는데 그냥 미국 선택하시는 게 나을 것 같습니다.
(AWS는 서울 region도 있어요. 당연히 이게 더 네트워크 상 속도가 빠릅니다만, Free tier를 할 수 있는 계정이 있다면 사용하시고, 없거나 신경쓰고 싶지 않다면 그냥 heroku 사용하셔도 될 것 같습니다.)
그리고 다음 화면에서 Deployment method(배포 방법)를 Github 선택해주시고, 연결할 repository 이름을 적어주시면 됩니다.
연결이 되면, 위와 같은 화면이 뜨는데 만약 자동배포를 끄고 싶다면 "Disable Automatic Deploys" 를 클릭해주시고 하단의 Manual deploy(수동 배포) 버튼을 이용해서 배포하시면 됩니다.
이렇게 진행하시면, 아래와 같은 형식의 주소로 접속하면, 소스 변경을 안했을 때 위와 같이 "Hello world"라는 메시지가 뜨는 웹 사이트가 나오게 됩니다. 그럼 이제 소스를 수정하면서 진행하시면 되겠죠?
https://내서비스명.herokuapp.com
* 참고로 custom domain 으로 설정하는 것도 가능한데, 도메인 사이트에 CNAME 같은 걸 등록해야 됩니다. 이걸 하려면 PC에 heroku terminal 용 모듈을 설치한 뒤 진행하시면 됩니다. 자세한 사항은 아래의 링크를 참고하시면 될 것 같습니다! (heroku domains:add 후 heroku domains로 확인)
* 이 때 도메인 등록하려면 신용카드 등록하라는 말이 있는데, 기본 옵션으로 만드셨으면 무료계정이라 등록해도 따로 추가 결제되거나 유료로 변경되지는 않습니다.
* 기본 도메인(herokuapp.com)은 https 적용이 되지만, 커스텀 도메인은 안됩니다. 커스텀 도메인 https 적용하려면 월 7달러 요금제를 사용해야 됩니다.
https://help.heroku.com/MTG1BIA7/how-do-i-connect-a-domain-to-my-heroku-app
How do I connect a domain to my Heroku app? - Heroku Help
You want to connect a domain or domains to your Heroku app. (Or your domain isn't working.) There are several steps involved with setting up a domain to work with Heroku and depending on your needs and situation, the way you have to setup your domains will
help.heroku.com