heroku에 배포하기!
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 였다. 그리고 코드를 잘 짜는 것과 더불어 공식문서를 보는 법도 매우 중요하다는 것을 배웠다.
Author And Source
이 문제에 관하여(heroku에 배포하기!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yhko1992/heroku에-배포하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)