2

同じサーバー上に2つのdjangoベースのWebアプリケーションがあります。1つはCORRECT_PROJECTと呼び、もう1つはWRONG_PROJECTと呼びます。

最後のCORRECT_PROJECTは、仮想環境を使用してインストールされ、異なるバージョンのdjango(1.4)を使用します。非常に奇妙な問題があります。通常、ログアウトまたは電子メールの確認後(ただし、ランダムに見える場合もあります)、サーバーは500の内部サーバーエラーを返し、エラーログには次のように表示されます。

「設定をインポートできませんでした'WRONG_PROJECT.settings'(sys.pathにありますか?):モジュール名がありませんWRONG_PROJECT.settings、参照:CORRECT_PROJECT / URL "

つまり、CORRECT_PROJECTをロードすることにより、システム(WSGI?Apache?Django?)がWRONG_PROJECTから設定をロードしようとすることがあります。

更新を積極的に押すと、エラーが消えます。何が間違っている可能性がありますか?どうすればデバッグできますか?

CORRECT_PROJECTは、デーモンモードでWSGIを使用します。

解決

デーモンモードを使用する:http://modwsgi.readthedocs.org/en/latest/configuration-directives/WSGIDaemonProcess.html

4

1 に答える 1

6

Django1.4のwsgi.pyを使用しています。同じプロセスで複数のウェブアプリをホストしている場合、これは機能しません。

最善の解決策は、デーモンモードを使用し、それぞれを個別のデーモンプロセスグループに委任することです。

それができない場合は、両方のwsgi.pyファイルを変更して、以下を使用しないようにします。

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

ただし、代わりに次を使用します。

os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"

必要に応じてmysite.settingsを変更します。

于 2012-08-22T03:31:12.890 に答える