Django本番運用のためのGunicornプロセス(ステップ1)

今回の内容について

Python(プログラム言語、ライブラリ)を使ってWebやWebアプリのバックエンド(後ろ側)のシステムを構築するためにDajango(フレームワーク)、Gunicorn(プロセス)があります。

今回は、書籍等で見かける開発環境やテスト環境へのデプロイではなく、自前のWebの本番サイトへGunicornを利用してDjangoシステムを組み込んだ内容について何回かステップを分けて記載していきたいと思います。

 

Dajango本番運用前に「決めておくべき内容」

項目内容・例
プロジェクト名reserve_site(Django プロジェクト)
アプリ名booking(予約機能を提供)
仮想環境パス/home/pi/reserve_site/venv
ドメイン名ootani.tokyo(サーバー公開用)
SECRET_KEYセキュアな長い文字列(自動生成が推奨)
管理者ユーザー情報Django 管理者のユーザー名・メール・パスワード
サーバーポート 例:XXXX(Gunicorn バインド先)

【全体の流れ】
1・Djangoアプリの準備
2・Linuxサーバー環境の準備
3・Gunicorn設定(WSGIサーバー)
4・Nginx または Apache のWebサーバー設定
5・セキュリティ(HTTPSやファイアウォール)
6・自動起動設定(systemd)

Gunicorn(Green Unicorn)は、Python WSGIアプリケーションのためのUNIX系HTTPサーバーです。DjangoなどのPythonフレームワークを本番運用するための中核となるプロセスです。

【概要】Gunicornとは?

項目説明
正式名称Green Unicorn
タイプWSGI HTTP Server(アプリサーバー)
目的DjangoやFlaskなどWSGIアプリを実行して、HTTPリクエストを処理する
なぜ必要か?Django標準のrunserverは本番環境に適していないため(開発専用)
外部連携NginxやApacheとリバースプロキシで組み合わせて使うことが多い

【Gunicornのシステム動作構造】
GunicornがHTTPリクエストを処理するまでの流れ:

Gunicornは ローカルポート(例: 127.0.0.1:8000)で待機して、リクエストを受け取り、
Djangoの wsgi.py に接続してアプリを起動します。

【Nginxとの役割分担】

機能担当
HTTPS / ポート開放Nginx
静的ファイル配信Nginx
動的ページ処理Gunicorn(+Django)

Gunicornの強みまとめ
特徴 内容
・軽量 & 高速 起動が早く、設定もシンプル
・マルチプロセス対応 ワーカーを複数立ち上げて並列処理が可能
・高い互換性 Django / Flask などWSGI準拠アプリに対応
・リバースプロキシ構成 Nginxなどとの組み合わせに最適
・UNIX/Linux向け Windows対応は限定的(本番向きではない)

注意点
Gunicornは外部から直接アクセスされる設計ではないので、必ずNginxなどのWebサーバーとセットで使うのが原則です。
静的ファイル(画像・CSS)はGunicornでは処理しないため、collectstaticでNginxに任せる構成が必要です。

\ 最新情報をチェック /