2011-07-27 22 views
3

私はApacheを持つサーバーを持っています。私はDjangoで書かれたWebサイトを開始したいと思います。私はユーザーmod_wsgi。今私はそれを準備している。しかし、サーバーの応答は空です。エラーログには何もありません。その理由は何ですか?Django:空白のページのみ

ファイルがあれば(* .wsgi、settings.py)私はそれを追加します。

Prochazky.wsgi

import os 
import sys 
import site 

os.environ['PYTHON_EGG_CACHE'] = '/home/prochazky/venv/.python-eggs' 

site.addsitedir('/home/prochazky/venv/lib/python2.6/site-packages') 

os.environ['DJANGO_SETTINGS_MODULE'] = 'Prochazky.settings' 

sys.path.append('/home/prochazky/') 
sys.path.append('/home/prochazky/Prochazky/') 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

Apacheのバーチャルホスト:Djangoの最初ではなく作業のhello worldプログラムを入手しようと

<VirtualHost *:80> 
    WSGIScriptAlias//home/prochazky/Prochazky/Prochazky.wsgi 
    ServerName testing.prochazky.net 
    DocumentRoot /home/prochazky 

    ErrorLog /home/prochazky/wsgi.log 
</VirtualHost> 
+1

はあなたが私達にあなたのWSGIとApacheのバーチャルホストファイルを表示でした:

チェックアウトする良いサイト(私が必要とされているすべてのorder Allow, denyallow from allだと思いますか)? –

+0

はい、追加しました。 – yetty

+0

ところで、 'DocumentRoot/home/prochazky'を使うのは本当に悪い考えです。 WSGIScriptAliasを削除できた場合、そのアカウントのホームディレクトリ内のすべてのものが人によってダウンロード可能になる可能性があります。人々には見せたくないものを含むディレクトリにDocumentRootを置かないでください。 –

答えて

7

。ウォッチ:

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

と読み:推測で

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

をしかし、あなたはおそらく同じApacheにmod_pythonのをロードします。互換性のないmod_pythonは、メインのApacheエラー・ログ内のセグメンテーション・フォルト・メッセージだけで、その症状を引き起こします。


UPDATE 1

は、あなたが同じApacheにmod_phpををロードしていますか?共有ライブラリの要件が競合することがあり、クラッシュすることがあります。あなたもそれを読み込んでいるなら、Apacheの設定からそれを無効にしてください。

も設定してみてください:

WSGIApplicationGroup %{GLOBAL} 

これはサブインタプリタで動作するように適切に書かれていないサードパーティ製の拡張の問題を避けることができます主なインタプリタの使用を強制します。

実際には、仮想ホストのメインではなく、メインのApacheエラーログを詳しく調べる必要があります。要求を出したときに「tail -f」を実行し、そこにメッセージが表示されていることを確認します。具体的には、セグメンテーションフォルトまたは同様のメッセージです。プロセスのクラッシュや空のページの原因に関するこのようなメッセージは、仮想ホストエラーログには表示されません。

+0

はい、私はhello worldプログラムを試してみました。私はmod_pythonを持っていない(確かに、私はすでにそれを探していた)。 – yetty

+0

さて、ヒット:)ありがとう。 – yetty

+0

それはどちらでしたか? PHPまたはおそらくはPythonのサードパーティのC拡張モジュールですか? –

1

テンプレートファイルのルートURL /ビューが空であるか、空であると評価される可能性はありますか?例えば

は、あなたがそうのようなテンプレートがある場合:

{% extends "base.html" %} 
{% block content %}blah blah{% endblock %} 

とbase.htmlを、ブロック「コンテンツ」を使用していない、あなたのテンプレートからコンテンツブロックは使用されませんし、あなたのテンプレートはコンテンツを持っていても空であると評価されます。

+0

応答が完全に空であるhttp://code.google.com/p/modwsgi/wiki/InstallationIssuesで説明されています。そして、私はローカルホスト上でこの同じアプリケーションを持っており、そこに動作します。不幸にもそれはまったく異なるOSです。 – yetty

+0

私がそこに行くと、それは私に500のエラーを与えているので、ログを今チェックしたいかもしれません。あなたのIPを内部として設定している場合は、エラーを表示しようとしているかもしれませんが、失敗しているかもしれませんが、エラーは表示されません。 – fahhem

+0

はい、私はそれに取り組んでいて、何とかしようとしています。この理由からe500があります。 – yetty

0

これは私の設定です(名前は 無実 の有罪を守るために変更されました)。

<VirtualHost *:80> 
     ServerName site.domain.com 
     ServerAdmin [email protected] 

     WSGIScriptAlias//home/user/site/django.wsgi 

     <Directory /home/user/site/> 
       Options FollowSymLinks 
       AllowOverride None 
       Order allow,deny 
       allow from all 
     </Directory> 
     ... etc etc etc. 

私は、サーバーが.wsgiにアクセスできるようにする<directory>が必要だと思います。
私は実際にはapacheの達人ではありませんが、この例を完璧なものにしないでください。http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango

関連する問題