[TIL] Heroku

hyewon·2021년 12월 3일
0

TIL

목록 보기
33/59

Heroku

개발한 웹 어플리케이션을 배포할 수 있도록 도와주는 서비스형 플랫폼(=Platform as a Service)이 바로 Heroku이다. heroku를 통해서 간단하고 빠르게 웹 어플리케이션을 배포할 수 있다.

heroku는 CLI 도구를 제공하기 때문에 편리하게 터미널에서 작업이 가능하고, git을 사용하기 때문에 레포 단위로 배포를 진행하고 관리할 수 있다는 장점이 있다.

heroku 실행해보기

# CLI에서 진행


heroku login
heroku apps

heroku create app_name


# heroku는 깃 레포 폴더에서 생성을 하게 되면 
# 깃 리모트 주소에 heroku 주소를 추가해줌. 
git remote -v 

# 배포할 웹 깃에 올리기
git push heroku main # (or master)


배포시 꼭 필요한 것들


  1. requirements.txt: 파이썬 패키지 정보
  2. Procfile: 웹 서버 구동 정보
  3. reqirements.txt와 Procfile, flask_app(폴더)가 같은 계층에 존재해야함 (=> 터미널에서 ls를 했을 때 세개가 같이 보여야 함)

requirements.txt

requirements.txt 파일은 웹 어플리케이션을 만드는데 사용된 파이썬 패키지들의 이름과 버전이 들어가 있는 파일이다. heroku에게 이 웹 어플리케이션을 파이썬을 이용해서 만들었어! 하고 알리는 역할을 한다. 만약 conda 환경을 사용해서 개발했다면 다음과 같은 명령어로 쉽게 requirements.txt 파일을 생성할 수 있다.

pip freeze > requirements.txt

Procfile

Procfile은 어플리케이션을 실행하라는 명령을 설정해놓은 파일이다. 이 파일을 만들지 않으면 heroku는 어플리케이션의 파일들을 받기만 할 뿐 실행시켜주지 않으므로 Procfile도 빼먹지 않고 만들어줘야한다.

web: gunicorn --workers=2 'folder_name:create_app()'
profile
우당탕탕 코린이

0개의 댓글