n334_DashBoard & Deployment

ssu_hyun·2021년 11월 4일
0

[codestates] AI Bootcamp

목록 보기
36/62

#Heroku #배포 #WSGI #환경변수 #Metabase

🏆 학습 목표

  • 개발 환경과 배포 환경에 대한 관리를 할 수 있어야 합니다.
  • Heroku 를 활용해 배포할 수 있어야 합니다.
  • 클라우드 데이터베이스에 연결할 수 있어야 합니다.
  • Metabase 사용방법에 대해 알아야 합니다.
  • WSGI 에 대해서 설명할 수 있어야 합니다.



Heroku 배포

파이썬에서는 어플리케이션을 바로 서버로 실행할 수는 없다.
예를 들어 Flask 에서는 flask run 과 같은 명령어로 실행을 했지만 사실 그 뒤에는 Werkzeug에서 개발 단계에서 사용할 수 있는 간단한 WSGI 서버를 돌릴 수 있도록 해주는 기능을 포함하므로 가능했던 것이다. 즉 말 그대로 간단하게만 개발할 때 돌리는 용도이기 때문에 효율적인 관리는 할 수가 없다. 따라서 flask를 gunicorn 이라는 WSGI 서버로 넘겨 거기에서 구동을 한다.

WSGI(Web Server Gateway Interface)

서버나 게이트웨이를 어플리케이션이나 프레임워크와 이어주는 middleware, 다리와 같은 역할
ex) HTTP 관련된 웹 요청이 들어오게 되면 Flask와 같은 마이크로 프레임워크를 서버로 연결해 외부에서 접속할 수 있도록 도와주는 역할

gunicorn(green unicorn)

파이썬의 WSGI HTTP Server

  • UNIX 체계에서 HTTP 요청에 대한 처리를 할 수 있음
  • 'pre-fork worker' 모델 : 파이썬에서 어떤 어플리케이션이나 프레임워크가 주어지게 되면 사전에 '포킹'을 한 뒤에 worker를 통해 작업을 실행하므로 서버를 띄울 때 worker의 수를 정해 하나의 어플리케이션을 몇 개 띄우게 되는지 미리 정할 수 있음
  • WSGI 네이티브 지원
  • Worker 자동으로 관리
  • 손쉬운 파이썬 설정
  • 동시에 다수의 worker가 사용 가능

Heroku

클라우드 플랫폼을 제공하는 서비스




httpd도 local 에서만 돌릴 수 있는 워크저그와 비슷한 개념

https://oingdaddy.tistory.com/122
https://captcha.tistory.com/49
https://blog.naver.com/PostView.nhn?blogId=writer0713&logNo=221507573585&redirect=Dlog&widgetTypeCall=true&directAccess=false
https://ikcoo.tistory.com/m/146



클라우드 핵심 키워드가 된 '컨테이너'…왜 쓰냐고 물으신다면…
Metabase Documentation
초보를 위한 도커 안내서
Heroku와 github연동하기
kubernaetes_컨테이너를 위한 환경 변수 정의하기
Docker 명령어 정리

0개의 댓글