uWSGIでDjangoを使用する方法—Djangoのドキュメント
uWSGIでDjangoを使用する方法
uWSGI は、純粋なCでコード化された、高速で自己修復型の開発者/システム管理者向けのアプリケーションコンテナサーバーです。
も参照してください
uWSGIドキュメントは、Django、nginx、およびuWSGI(多くの可能な展開セットアップの1つ)をカバーするチュートリアルを提供します。 以下のドキュメントは、DjangoをuWSGIと統合する方法に焦点を当てています。
前提条件:uWSGI
uWSGI wikiには、いくつかのインストール手順が記載されています。 Pythonパッケージマネージャーであるpipを使用すると、1つのコマンドで任意のuWSGIバージョンをインストールできます。 例えば:
uWSGIモデル
uWSGIは、クライアントサーバーモデルで動作します。 Webサーバー(nginx、Apacheなど)は、 django-uwsgi 「ワーカー」プロセスと通信して動的コンテンツを提供します。
Django用のuWSGIサーバーの構成と起動
uWSGIは、プロセスを構成するための複数の方法をサポートしています。 uWSGIの構成ドキュメントを参照してください。
uWSGIサーバーを起動するコマンドの例を次に示します。
これは、mysite
という名前のトップレベルプロジェクトパッケージがあり、その中にWSGI application
オブジェクトを含むモジュールmysite/wsgi.py
があることを前提としています。 これは、最近のバージョンのDjangoでdjango-admin startproject mysite
を(mysite
の代わりに独自のプロジェクト名を使用して)実行した場合のレイアウトです。 このファイルが存在しない場合は、作成する必要があります。 このファイルに入れる必要のあるデフォルトの内容と、他に何を追加できるかについては、 WSGI を使用して展開する方法のドキュメントを参照してください。
ここでのDjango固有のオプションは次のとおりです。
chdir
:Pythonのインポートパス上にある必要があるディレクトリへのパス。つまり、mysite
パッケージを含むディレクトリ。module
:使用するWSGIモジュール–おそらく:djadmin: `startproject` が作成するmysite.wsgi
モジュール。env
:おそらく少なくともDJANGO_SETTINGS_MODULE
が含まれているはずです。home
:プロジェクトvirtualenvへのオプションのパス。
ini構成ファイルの例:
ini構成ファイルの使用例:
ファイルアップロードのUnicodeEncodeError
を修正
非ASCII文字を含むファイル名のファイルをアップロードするときにUnicodeEncodeError
が表示される場合は、これをuwsgi.ini
に追加して、uWSGIが非ASCIIファイル名を受け入れるように構成されていることを確認してください。
詳細については、Unicodeリファレンスガイドのファイルセクションを参照してください。
uWSGIワーカーの開始、停止、および再ロードについては、 uWSGIプロセスの管理に関するuWSGIドキュメントを参照してください。