heroku에 배포하기!

YEONGHUN KO·2021년 11월 18일
0
post-thumbnail

heroku 시작하기

heroku는 클라우드 플랫폼으로 자신의 웹사이트를 배포할 수 있게한다. 우선 heroku에 가입하고 새로운 dashboard를 만든다. deploy에 가보면 사이트를 배포하는 방법이 나와있다. 먼저 heroku CLI를 다운받으라고 하는데 나같은 경우 다운받고 나서 오류가 났다.

은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 오류가 나길래 heroku login not working이라고 구글링 해보니 heroku CLI는 옛날 버전이라서 그걸 지우고 새로운 버전으로 설치하라고 나와있었다. npm uninstall -g heroku-cli 를 입력해서 기존에것을 지우고 npm i -g heroku 를 입력해서 최신버전의 heroku를 설치하니 잘 실행되었다!!

그리고 로그인을 하고 heroku git:clone -a dashboard 이름 을 입력하면 git에 복사된다. 그다음 git add . 하기 이전에 세팅해줘야할 게 있다.

우선 마지막에 적혀있는 if_name 부분을 지워주자. 개발 할때만 필요한 코딩이다.

# if __name__ == '__main__':
#     app.run_server(debug=True)

그리고 dash.flask를 노출시켜 heroku에게 알려줘야한다.

server = app.server

requirements.txt 만들기

그런 다음 corona 웹사이트를 만들기 위해 필요한 부품을 heroku에게 알려줘야한다. requirments.txt 파일안에 필요한 부품을 명시해줄것이다.

pip freeze > requirements.txt

파일이름이 반드시 requirements.txt 이어야 한다. heroku가 requirements.txt 라는 이름으로 찾기 그다음 불필요한 것들은 제외하고 필요한 것들만 남겨둔다.

dash==1.18.1
dash-core-components==1.14.1
dash-html-components==1.1.1
pandas==1.1.5
plotly==4.14.1

그리고 git 에 추가하고 커밋하자

git add .
git commit -m "requirement"

gunicorn으로 진짜 서버 추가하기

그 다음 우리는 로컬서버가 아닌 진짜 서버를 입혀줘야 한다. 바로 gunicorn을 통해서 말이다. pip install gunicorn을 입력해준다. 그리고 requirements.txt 파일에 gunicorn = 버전 을 추가해준다. 그리고 procfile이란 파일을 만들어줘야한다. heorku에게 내가 deploy할 프로젝트의 속성을 알려줘야하기 때문이다.

# 웹은 gunicorn으로 돌리고 있고 main.py 가 서버라는 뜻
web:gunicorn main:server

그럼 이제 거의 끝났다. git add / commit 을 해주고 마지막 단계인 push를 해주자

git push heroku master

그럼 명령 프롬프트에 deploy 된 url이 뜨는데 거기로 들어가보면!!

보너스: title 변경하는 법

그리고 title을 변경하고 싶다면 main.py에 들어가서 app.title = "원하는 title" 을 입력해주면 된다.

또다시 새로운걸 배웠다. 이번에 pandas를 통해서 data를 정말 쉽게 modify 할 수 있다는 점이 매우 놀라웠다. 데이터에 관심이 많은 나에게 pandas는 매우 흥미로운 library 였다. 그리고 코드를 잘 짜는 것과 더불어 공식문서를 보는 법도 매우 중요하다는 것을 배웠다.

코로나 웹사이트

profile
'과연 이게 최선일까?' 끊임없이 생각하기

0개의 댓글