1

Mac OS X サーバーで mod_wsgi を動作させようとしてきましたが、まったくうまくいきません。LoadModule ステートメントを httpd.conf に追加しました。次のファイルが含まれています。

apache_django_wsgi.conf:

WSGIDaemonProcess django
WSGIProcessGroup django

Alias /plagtest/ "/Users/plagtest/myproject/"
<Directory "/Users/plagtest/myproject/">
    Order allow,deny
    Options Indexes
    Allow from all
    IndexOptions FancyIndexing
</Directory>

WSGIScriptAlias /plagtest "/Users/plagtest/myproject/apache/myproject.wsgi"

<Directory "/Users/plagtest/myproject/apache">
    Allow from all
</Directory>

そして、これが私のWSGIファイルです:

myproject.wsgi:

import os
import sys

paths = [ '/Users/plagtest/myproject',
          '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
          '/Users/plagtest',
]

for path in paths:
    if path not in sys.path:
        sys.path.append(path)

sys.executable = '/usr/local/bin/python2.7'
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

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

Apache を問題なく再起動できますが、localhost/plagtest/ を参照すると、ファイルが見つからないというメッセージが表示され、エラー ログに次のように表示されます。

File does not exist: /Library/WebServer/Documents/plagtest/

私はApacheに完全に精通しているわけではなく、おそらく非常に単純なものだと確信していますが、オンラインで解決策を見つけることはできません。この問題で何か助けていただければ幸いです。

4

1 に答える 1

2

同じパスに 2 つのエイリアスがあるようです。したがって、重複があります。削除する:

Alias /plagtest/ "/Users/plagtest/myproject/"
<Directory "/Users/plagtest/myproject/">
    Order allow,deny
    Options Indexes
    Allow from all
    IndexOptions FancyIndexing
</Directory>

メディア エイリアスがない場合、django のマニュアルで推奨される HTTP conf は次のとおりです。

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py

<Directory /path/to/mysite.com/mysite>
    <Files wsgi.py>
    Order allow,deny
    Allow from all
    </Files>
</Directory>
于 2012-07-11T05:22:53.400 に答える