DjangoにおけるNginxとgunicornの役割(Nginxその1)

Nginx、gunicorn、Djangoの組み合わせは、現在、最も勢いのある組み合わせです。今から環境を構築するのであればApache(アパッチ)よりもお勧めです。そこで、難しい説明は後回しにして、それぞれの役割を簡単に説明したいと思います。

前の記事<<     >>次の記事

1.相関関係

下図はNginx(エンジンエックス)、gunicorn(グリーンユニコーン)、Djangoの相関関係を示します。

01_Nginx_gunicorn_Django_03

(1) Nginxの役割

自分のPC(クライアント)から、ChromeやSafariなどのWebブラウザで、VPSサーバーのホームページを閲覧するときを想定すると、クライアントからの要求は最初にWebサーバーと呼ばれるアプリケーションであるNginxが受け付けます。

しかし、Nginxは、html、CSS、JavaScriptなどで構成された静的なページの処理は速いのですが、動的なページは扱えません。

そこで、静的なページの要求の場合はNginxが独断でページのデータをWebブラウザに返しますが、動的なページの要求に対しては、処理をgunicornを介してDjangoに丸投げします。

また、Nginxは特定のIPアドレスを拒否するといったこともできるので門番のような役割を果たすことができ、セキュリティーを強化できます。

(2) 静的なページと動的なページ

なお、静的なページとは、毎回、誰が見ても同じ内容が表示されるページで、基本的に静的なページの内容はデータを隠蔽する必要がありません。

一方、動的なページは例えばTwitterのツイートのようにクライアントによって表示が変化します。そして、データベースの内容は許可されたユーザー以外からは隠蔽する必要があります。

(3) Djangoの役割

Djangoは動的なページを扱うことが出来るアプリケーションであり、「Webアプリケーションフレームワーク」あるいは「Webフレームワーク」と呼ばれます。

このように動的なページを扱うDjangoは、静的なページも扱えますが、データを丁寧に扱うために処理が遅くなってしまう傾向があります。

(4) gunicornの役割

gunicornは、NginxとDjangoのデータのやりとりを高速に実行する「アプリケーションサーバー」でありWSGIという規格でデータをやりとりするので、「WSGIサーバー」と呼ばれることもあります。

2.様々な構成がある

最もお勧めできる構成がDjango、Nginx、gunicornの組み合わせですが、Nginx、gunicorn、Djangoは、いずれも多機能なアプリケーションなので、3つが必ず必要なわけではありません。

NginxとDjangoだけでも構成できますし、gunicornとDjangoだけでも構成できます。

つまり、書籍やインターネットの情報は、どの構成について説明している情報なのかを意識しなければ混乱します。

私が実際にレンタルしたVPSサーバー

私が実際にレンタルしたVPSサーバーはConoHa VPSです。私は1GBのプランを申し込みました。VPSサーバーは一般のレンタルサーバーと異なりOSやアプリケーションを自由に設定できるので、Pythonで計算した結果をサイトに表示することもできます。

なお、ConoHa VPSの特長として、サーバーのディスクイメージを丸ごとバックアップできるイメージ保存機能を無料で使用することができます。コードを変更して元に戻せなくなった場合にも安心です。

また、ConoHa VPSは途中でプランをスケールアップできるだけでなく、スケールダウンすることもできます。つまり、2Gプランを1Gプランに変更することができます。ただし、512MBプランだけはスケールアップ・ダウン機能が使用できないので注意してください。

また、初期費用なしで3日だけ借り、3日分の費用だけ払うといったことも可能なので気軽に始められます。※時間課金(月の上限額は決まっています)

私からの友達紹介でクーポンをゲット

なお、以下のリンクから入ると、私からの友達紹介の扱いとなり1000円分のクーポンが支給されます。リンク先には「友達紹介」といった表記がないので「友達紹介」が適用されているのか不安になりますが大丈夫です。登録終了後にログインしたユーザーTop画面を確認すると支給されたクーポン1000円が表示されるはずです。

[ Conohaの友達紹介 ]

なお、友達紹介では個人情報が紹介者には開示されないので安心してご利用ください。

その他

Twitterへのリンクです。SNSもはじめました♪

液晶ペンタブレットを購入しました
 (1) モバイルディスプレイを買うつもりだったのに激安ペンタブレット購入

以下、私が光回線を導入した時の記事一覧です。
 (1) 2020年「光回線は値段で選ぶ」では後悔する ←宅内工事の状況も説明しています。
 (2) NURO光の開通までWiFiルーターを格安レンタルできる
 (3) NURO光の屋外工事の状況をご紹介。その日に開通!
 (4) 光回線開通!実測するとNURO光はやっぱり速かった
 (5) ネット上のNURO光紹介特典は個人情報がもれないの?