質問

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

私はApache 2.2とDjango 1.0b2、mod_wsgi-2.3を搭載したOSX 10.5を使用しています。

私のアプリケーションは tred と呼ばれます。

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

NameVirtualHost tred:80



  ServerName tred

  Alias /admin_media /usr/lib/python2.5/site-packages/django/contrib/admin/media

  
    Order allow,deny
    Allow from all
  

  Alias /media /Users/dmg/Sites/tred/media

  
    Order allow,deny
    Allow from all
  

  Alias / /Users/dmg/Sites/tred/

  
        Order allow,deny
        Allow from all
    

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

  WSGIDaemonProcess tred user=dmg group=staff processes=1 threads=10
  WSGIProcessGroup tred


mod_wsgi-handle.wsgi

import sys
import os

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

import django.core.handlers.wsgi

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

に行くときは http://tred レンダリングされた Web サイトではなく、ディレクトリのリストが表示されます。チュートリアルに正しく従ったつもりですが、明らかに正しくありません。これを機能させるにはどうすればよいでしょうか?

役に立ちましたか?

解決

を削除するとどうなりますか Alias / 指令?

他のヒント

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

それは動作します。理由は分かりませんが、そうなります。

今後の参考のために:

これが機能するのは、Apache がエイリアス ディレクティブを順番に処理し、最初に一致したものを使用するためです。いつも当たってた Alias /, 、前のものに一致します。 WSGIScriptAlias.

から mod_alias ドキュメンテーション:

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

このチュートリアルに従ってみてください - http://singlas.in/5-step-tutorial-for-using-django-with-apache-and-mod_wsgi/

Apache /var/www/ フォルダーと Django アプリの両方をルート (/) でホストしようとしています。Alias ディレクティブは WSGIScriptAlias よりも優先されるため、Apache ディレクトリがレンダリングされます。

/app で Django アプリをホストしてみてください。あるいは、/var/www/ フォルダーを /public などの別の場所でホストします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top