[Web app 배포 HEROKU] HEROKU 기본 셋팅 및 Django app 배포하기

[Web app 배포 HEROKU] HEROKU 기본 셋팅 및 Django app 배포하기

서비스를 배포하기 위해서는 서버환경이 필요하다.

웹사이트가 실행될 수 있는 컴퓨터 하드웨어(IaaS)를

사용하거나, 플랫폼 형식으로 호스팅 서비스를 제공

하는 (PaaS)를 사용해야 한다.

물론 호스팅 업체를 선택할 때는 본인의 사이트의

트래픽과 데이터 사용량을 예상해야 한다. 또한

다음 사항을 체크해봐야 한다.

또한 서버 컴퓨터 다운그레이드 / 업그레이 비용 규모나

사이트 관리용으로 제공되는 도구(SFTP, FTP 등)의 안전도를

체크해봐야 한다.

본인 웹사이트를 배포할 수 있는 호스팅 서버시를 제공

하는 곳은 대표적으로 Heroku, AWS, MS Azure, Python Anywhere등이

있다.

Heroku

1. 설치

맥이나 리눅스를 사용한다면 cmd에서 설치하면된다.

윈도우는 가급적이면 아래 링크에서 installer를 다운받아

설치하는게 정신건강에 도움이 된다.

(이 참에 맥을 사야되나..)

pip install heroku 혹은 pip install gunicorn django-heroku

3. runtime.txt 만들기

현재 본인의 파이썬 ver을 입력해준다.

python-3.9.7

4. Procfile 만들기

web gunicorn 프로젝트이름.wsgi:application --log-file -

5. requirements.txt 만들기

웹 사이트 프로젝트에서 사용하는 모든 패키지를

호스팅 서비스에 옮기기 위한 파일이다.

pip freeze > requirements.txt

6. settings.py 수정

# import 수정 import django_heroku import dj_database_url # HOST 환경 수정 ALLOWED_HOSTS = [*] # DATABASES수정 DATABASES = { 'default' : dj_database_url.confing() } #Heroku 환경 추가 # 맨 마지막줄 추가 django_heroku.settings(locals())

7. 로그인

heroku account가 있다면 다음 명령을 치면

바로 웹으로 연결된다. log in 해주면

heroku login

cmd에서 로그인 완료를 확인한다.

8. New App 생성

Heroku 안에서 앱을 만들 때 기존 repository에

있는 이름을 사용하면 안된다. 무조건 새로운

이름을 만들어줘야 한다.

여기서 이름은 Heroku 안에서 보이는 앱을

말한다.

Heroku 앱 이름은 무조건 소문자만 들어갈 수

있다. 대문자나 아래대시가 있으면 안된다.

heroku create 앱이름

9. Git repository 연결

heroku에서 앱을 만들면 자동으로 Git에 앱이 연결된

형태가 된다. 앱을 생성하면 나오는 git url이 앱이

탑재된 git 의 url이다.

# 깃 외부 repo 확인 git remote -v

10. 앱에 데이터베이스 추가하기

기존에 앱과 연결된 데이터베이스가 있는지 확인

heroku-addons

heroku에 postgresql을 제공한다.

heroku addons:create heroku-postgresql:

여기서 은 heroku에서 제공하는

서비스 종류의 이름이다. heroku는 서버 환경별로

다양한 옵션을 제공하고 있다.

무료 티어는 Hobby Dev이다.

무료버젼으로 postgresql을 heroku에 제공한다.

heroku addons:create heroku-postgresql:hobby-dev

from http://incomeplus.tistory.com/155 by ccl(A) rewrite - 2021-09-29 10:26:47