Lala's tower

gunicorn을 이용한 배포 방법

gunicorn을 이용한 배포 방법

2024-04-23 21:19:42

gunicorn을 이용한 배포, flask를 사용한 코드는 django로 포팅해야만 배포가능하다 라고 알고있었습니다만 gunicorn 이라는 것이 있군요. 소스코드는 그대로 두시고 실행 명령어만 gunicorn을 사용하면 됩니다. 심지어 worker라는 것이 있어 여러 개 프로세스가 동시에 실행되고, 문제 생기면 worker단위로 재시작하는 군요.

gunicorn을 이용한 배포,gunicorn 아이콘 이미지

gunicorn을 이용한 배포, 설치

pip install gunicorn

gunicorn을 이용한 배포, 실행

아래와 같은 소스코드를 실행한다고 가정하자. 소스코드 파일명이 your_flask_source.py 이다. 4번째 라인
app = Flask(__name__)
를 주목해둬야한다.

# your_flask_source.py
from flask import Flask

# Flask 애플리케이션 인스턴스 생성
app = Flask(__name__)

# 루트 URL에 대한 라우트 설정
@app.route('/')
def home():
    return "Welcome to the Flask app!"

# 이 파일이 메인 프로그램으로 실행될 때, 웹 서버를 시작
if __name__ == "__main__":
    app.run(debug=True)

gunicorn -w 4 -b 0.0.0.0:8000 your_flask_source:app
  1. -w 4: 워커(worker) 프로세스의 수를 4로 설정합니다. 워커의 수는 서버의 CPU 코어 수나 예상 트래픽량에 따라 조정하시면 됩니다.

  2. -b 0.0.0.0:8000: Gunicorn 서버가 모든 인터페이스에서 8000 포트를 통해 수신하도록 설정. 파이썬 코드에 정의된 포트번호는 무시됩니다.

  3. your_flask_source:app: 첫 번째 your_flask_source은 Python 파일의 이름(your_flask_source.py에서 .py를 제외한 부분)을 나타내고, 두 번째 app은 Flask 앱 인스턴스의 변수 이름이다. 소스코드의 4번째 라인 참고

Chat GPT로 챗봇 만들기
Vertex AI로 챗봇 만들기
Google AI studio(Gemini) 로 챗봇 구현
Claude로 챗봇 만들기
챗팅창 화면 꾸미기
gunicorn을 이용한 배포 방법

gunicorn 공식 홈페이지