現在、Django を使用してアプリごとに書き換えている Web サイトがあります。サーバーは RedHat です。Apache 2 を実行しています。mod_wsgi をインストールしました。すべて正常に動作します。素晴らしい。
http://www.example.com/にアクセスすると、(PHP で) 既存のメイン サイトにアクセスできます。
私は mod_wsgi を実行していて、問題なく動作しています。http://www.example.com/django/にアクセスすると、Django を利用したホームページにアクセスできます。
私はそれでうまくいくいくつかのアプリを持っています:
- http://www.example.com/django/software : Django ソフトウェア アプリを正常に実行します。
- http://www.example.com/django/newsletter : Django ニュースレター アプリを正常に実行します。
すべての逆 URL ルックアップは正常に機能します。すべてが優れています。
Apache の httpd.conf のグローバル エントリは次のとおりです。
WSGIScriptAlias /django /path/to/django/mysite/mysite/apache/django.wsgi
ただし、これを本番環境に展開するときに、URL の /django 部分を含めたくありません。
したがって、http://www.example.com/softwareへのリクエストは、Django ソフトウェア アプリを実行します。
http://www.example.com/newsletterへのリクエストは、Django ニュースレター アプリを実行します。
http://www.example.com/をルート Django wsgi アプリケーションにリダイレクトすることはまだできません。これは、サイト全体の Django の書き換えが完了する数か月後に発生する可能性があります。
では、私の Django アプリを現在のセットアップで動作させる方法はありますか?
アプリごとの wsgi ファイル (例: /path/to/django/mysite/mysite/apache/software.wsgi および /path/to/django/mysite/mysite/apache/newsletter.wsgi) をアプリごとに作成する必要がありますか? httpd.conf ファイルに? そのような:
WSGIScriptAlias /software /path/to/django/mysite/mysite/apache/software.wsgi
WSGIScriptAlias /newsletter /path/to/django/mysite/mysite/apache/newsletter.wsgi
この特定のスタイルのセットアップに関する具体的なドキュメントがあまり見つからないようです。ほとんどのドキュメントでは、1 つのメイン wsgi ファイルと Django (urls.py 経由) を使用してすべてのリクエストを仲介していると想定しています。私はそれを望んでいますが、今はそれができません。
それは、私が論争しなければならない Apache ディレクティブのカンフーかもしれません。その場合はお知らせください。
ティア。