【Nginx+Gunicorn+Django】概念

「Webアプリケーションの基本概念」において、下図のように実施すると説明しました。

この中で、Nginx、Gunicrn、Djangoの接続方法について詳しくみてみましょう。

前項の「Djangoプロジェクトのテスト起動」において、Djangoプロジェクト内の静的ファイル(”static”と”medenia”)はNginxと関連付けをさせるためにNginx内のディレクトリ内に設定させました。

ではNginx、Gunicorn、Djangoは細かくみていくとどのような関連性があるのでしょうか。

それぞれのパッケージを組み合わせるためには、上図のような設定を行う必要があります。

具体的には、次のように実施します。

Gunicorn

※上図オレンジ色参照

Gunicornはシンプルに考えると、NginxとDjangoの橋渡しの役割を担ってもらいます。

それを実現するために、Gunicornに”sockectファイル”・”serviceファイル”を作成します。

“socketファイル”はNginxとの接続設定を行うための設定ファイルです。

“serviceファイル”はDjangoとの接続設定を行うための設定ファイルです。

Nginx

※上図赤色参照

Nginxの役割は以下の通りです。

  • クライアント(Webアプリケーション利用者)がアクセスする”ドメイン”の管理
  • Djangoプロジェクトの静的ファイル(”static”と”media”)の管理
  • Gunicornとの接続

Djangoの設定は既に完了しているので、設定ファイルなどの変更は不要です。

※sockファイルの定義のみ追加で必要

Nginx・Gunicorn共にやりたいことはシンプルなのですが、設定するのは少し難解かもしれません。

 

次項以降でそれぞれの設定について説明していきます。