4

Django1.0を使用してアプリケーションを作成しました。djangoテストサーバーで正常に動作します。しかし、それをより可能性の高い本番環境に入れようとすると、Apacheサーバーはアプリを実行できません。私が使用しているサーバーはWAMP2.0です。私は何年もの間PHPプログラマーであり、ずっと前からWAMPServerを使用しています。mod_wsgi.soをインストールしましたが、正常に機能しているようです(サービスエラーはありません)が、サーバールートの外部にあるPythonスクリプトを参照するようにhttpd.confを構成できません。

今のところ、ドキュメントルートをオーバーライドして、代わりにドキュメントルートからdjangoアプリを提供するので、httpd.conf行は次のようになります。

    WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi

しかし、サーバーの応答は403Forbiddenです

4

3 に答える 3

7

あなたが持っている:

WSGIScriptAlias / /C:/Users/Marcos/Documents/mysite/apache/django.wsgi

RHSは有効なWindowsパス名ではないため、これは誤りです。使用する:

WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi

つまり、Windowsドライブ指定子の前に先頭のスラッシュはありません。

それ以外は、他の人が指摘しているmod_wsgiのドキュメントに従ってください。


ポスターは質問を編集して、投稿のタイプミスであり、彼の構成に問題がないように見えるものを変更しました。

その場合、403の次の原因は次のとおりです。

まず、次のものも必要です。

<Directory C:/Users/Marcos/Documents/mysite/apache>
Order deny,allow
Allow from all
</Directory>

それがない場合、Apacheにはそのディレクトリからスクリプトを提供する権限が付与されていないため、FORBIDDEN(403)が返されます。

2つ目は、それはあるが、持っていることを認めないこと、そしてそのディレクトリまたはWSGIスクリプトファイルは、ApacheサービスがWindowsで実行されていることをユーザーが読み取れないことです。

于 2009-07-29T00:04:32.680 に答える
6

http://code.google.com/p/modwsgi/wiki/IntegrationWithDjangoを見たことがありますか?

Apacheがうまく機能することを保証するには、複数の行が必要です。

Alias /media/ /usr/local/django/mysite/media/

<Directory /usr/local/django/mysite/media>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /usr/local/django/mysite/apache/django.wsgi

<Directory /usr/local/django/mysite/apache>
Order deny,allow
Allow from all
</Directory>

<Directory>および適切なファイルシステムの所有権と権限が不可欠です。

ディレクトリには、usr/local/django/mysite/apachePython/Djangoアプリと非常に重要なdjango.wsgiファイルが含まれています。このディレクトリに対する権限を提供する必要があります。

于 2009-07-28T17:09:08.663 に答える
1

mod_wsgiのドキュメントはとても良いです。クイック構成ガイドを使用して、そこからアクセスしてください: http ://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

于 2009-07-28T17:21:28.373 に答える