11

私はmod_pythonではなくmod_wsgiとapacheで販売されています。すべてのパーツ(django、apache、mod_wsgi)をインストールしましたが、デプロイで問題が発生しました。

私はosx10.5でapache2.2とdjango1.0b2、mod_wsgi-2.3を使用しています

私のアプリケーションはトレッドと呼ばれています。

関連するファイルは次のとおりです。httpd-vhosts(httpd-confに含まれています)

NameVirtualHost tred:80



  ServerName tred

  エイリアス/admin_media/usr/lib/python2.5/site-packages/django/contrib/admin/media

  
    注文許可、拒否
    すべてから許可する
  

  エイリアス/media/ Users / dmg / Sites / tred / media

  
    注文許可、拒否
    すべてから許可する
  

  エイリアス//Users / dmg / Sites / tred /

  
        注文許可、拒否
        すべてから許可する
    

  WSGIScriptAlias / /Users/dmg/Sites/tred/mod_wsgi-handler.wsgi

  WSGIDaemonProcess tred user = dmg group = staffprocesses=1スレッド=10
  WSGIProcessGroup tred


mod_wsgi-handle.wsgi

sysをインポート
OSのインポート

sys.path.append(os.path.dirname(os.path.abspath(__ file__))+'/ ..')
os.environ ['DJANGO_SETTINGS_MODULE'] ='tred.settings'

django.core.handlers.wsgiをインポートします

アプリケーション=django.core.handlers.wsgi.WSGIHandler()

http:// tredにアクセスすると、レンダリングされたWebサイトではなく、ディレクトリリストが表示されます。私はチュートリアルを正しく実行したと思いますが、それは明らかに正しくありません。これを機能させるために何ができますか?

4

4 に答える 4

7

Alias /ディレクティブを削除するとどうなりますか?

于 2008-08-31T18:20:51.103 に答える
7

Alias ディレクティブと WSGIScriptAlias ディレクティブの優先順位は同じではないことに注意してください。したがって、それらは書き込まれたファイル順に処理されません。代わりに、すべての Alias ディレクティブが WSGIScriptAlias ディレクティブよりも優先されます。したがって、'/' のエイリアスが WSGIScriptAlias の後に表示されても問題はなく、それでも優先されます。

于 2009-06-24T12:39:13.763 に答える
5

できます。理由はわかりませんが、そうです。

今後の参考のために:

これが機能するのは、Apache がエイリアス ディレクティブを順番に処理し、最初に一致したものを使用するためです。Alias /以前は、何にでもマッチする を常にヒットしていWSGIScriptAliasました。

mod_aliasドキュメントから:

まず、エイリアスが処理される前にすべてのリダイレクトが処理されるため、エイリアスが適用されない、Redirectまたは一致するリクエストにRedirectMatchは適用されません。次に、エイリアスとリダイレクトは、構成ファイルに表示される順序で処理され、最初に一致したものが優先されます。

于 2008-08-31T22:51:15.820 に答える