2012-02-16 18 views
0

Django + mod_wsgi + Apacheを使用してセットアップされています。mod_wsgiとApacheでDjangoを使用しているときに内部サーバエラーが発生する

サイトの更新やバックエンドのPythonコードの変更中にサイトのユーザーがDjangoではなくApacheによって提供されるように見える内部サーバーのエラーページに実行されることがあります(少なくとも恐ろしく醜いものですが、良いものではない)。彼らはエラー報告を生成するようですが(電子メール経由)私は思うに、彼らは私たちの500サーバーのエラーテンプレートに着陸していないようです。

なぜこれが起こっているのかを知りたいですか?通常はエラーが発生すると、Djangoが提供する500のエラーページが表示されますが、ときどき醜いInternal Server Errorページが表示されることがあります。

なぜこのようなことが起こっているのか、私はこのことを止めるためにここでチェック/テスト/投稿することができますか?本当にありがとう、ありがとう!

答えて

2

Apacheが500ページを表示している場合は、500ページのレンダリング中にDjangoがエラーを投げたことを示しています。たとえば、Djangoがレンダリングできなかった500.htmlテンプレート上にテンプレートタグが存在する可能性があります。

Apacheのエラーログを調べましたか? DebianのApache2の場合、デフォルトで/var/log/apache2/に保存されています。お使いのオペレーティングシステムは異なる場合があります。

+0

ありがとうございます。 '{%load analytics%}'や{%if user.is_authenticated%} 'など、基本テンプレートからいくつかのタグが技術的に含まれています。私はこれらが有罪の犯人だと推測しています。それらを削除して、これが再発するかどうかを確認します。ありがとう! –

1

私はこの動作を知っていますが、CentOS 5.3とPython 2.5で同じ問題がありました。 Python 2.7.2をインストールして最新のmod_wsgi(バージョン3.3だと思います)をコンパイルした後、これらのエラーは消えました。問題はPython 2.5のバグで、私がメモリ割り当てに関して覚えている限りです。

CentOSを使用する場合は注意してください。Python 2.4をアップデートできないため、並列バージョンをインストールする必要があります。 Pythonを更新すると、 "yum"のようなCentOSのシステム機能が壊れてしまいます。

+0

私は現在Python 2.6を稼働しています - それにバグがあったのかどうか分かりますか?もしそうなら、私もこれを試みます。ご協力ありがとうございました。 –

+0

いいえ、2.6でもこのバグがあるのか​​どうかはわかりませんが、とにかくpythonとmod_wsgiを更新することはできません。 – Jingo

関連する問題