2012-06-08 25 views
8

mac osx lionでmod_wsgi https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/を使用してdjango 1.4をApacheにデプロイする方法と、WSGIPythonPathディレクティブのApacheの再起動ができません。それなしで私のアプリはパス内に存在しません。ログでは、私はdjango 1.4でmod_wsgiを設定すると、apacheが起動しません。

WSGIPythonPathがここVirtualHostセクション内

を発生することはできません読み込みエラーを取得しています私の仮想ホストの設定は、私が間違って何をやっている

<VirtualHost *:80> 
ServerAdmin [email protected] 
DocumentRoot "/Users/jamo/code/work/projects/bfpd/fapp" 
ServerName bfpd.dev 
ServerAlias bfpd.dev 
ErrorLog "/private/var/log/apache2/bfpd.dev-error_log" 
CustomLog "/private/var/log/apache2/bfpd.dev-access_log" common 
Alias /static/ /Users/jamo/code/work/projects/bfpd/fapp/fapp/static/ 
<Directory /Users/jamo/code/work/projects/bfpd/fapp/fapp/static> 
    Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
IndexOptions FancyIndexing 
</Directory> 
WSGIScriptAlias//Users/jamo/code/work/projects/bfpd/fapp/fapp/wsgi.py 
WSGIPythonPath /Users/jamo/code/work/projects/bfpd/fapp/ 
    <Directory /Users/jamo/code/work/projects/bfpd/fapp/fapp> 
    Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    </Directory> 

    </VirtualHost> 

次のようになりますか? ??

+2

「WSGIPythonPath/Users/jamo/code/work/projects/bfpd/fapp /」がhttp.conf –

+0

にあるはずです。自分の質問に答える必要があります。簡単に。あなたはそれを考え出してうれしい!私はそれが将来誰かを助けると確信しています。 –

+1

httpdへの書き込みアクセスなしで共有サーバーにデプロイする場合は、他の方法がありますか? – hobs

答えて

9

私はそれを修正しました。

WSGIPythonPath外WSGIPythonPathの移動VirtualHostセクション

内で発生することはできません。nemesisfixxによってコメントで述べたように、そしてあなたの元の質問に、エラーで指定されているように WSGIPythonPath /Users/jamo/code/work/projects/bfpd/fapp/http.conf

+27

しかし、複数のDjangoアプリケーションを同じサーバー上に置いた場合(それぞれ異なるURLの異なるVirtualHostで定義されている)、どうすればいいですか? –

+1

実際、このエラーは 'VirtualHost'ノードの外側で' WSGIPythonPath'を定義している限り表示されません。これは、* nixスタックでも同じです。 – nemesisfixx

+2

@MartinTrigaux、docsは次のように言っています: '複数のディレクトリが指定されている場合は、UNIXのようなシステムを使用する場合は ':'で区切ります。 Windowsを使用している場合ディレクトリパスの一部にスペース文字が含まれている場合、WSGIPythonPathへの完全な引数文字列を引用符で囲む必要があります。 – nemesisfixx

5

にする必要がありますVirtualHostがApacheのクラッシュをOS Xサーバーで解決しました。

$ cat sites/0000_any_80_mysite.com.conf 
WSGIPythonPath /Library/Server/Web/Data/Sites/mysite/django-app:/Users/owen/.virtualenvs/mysite:/Users/owen/.virtualenvs/mysite/lib/python2.7/site-packages 

<VirtualHost *:80> 
    ServerName mysite.com 
    ServerAdmin [email protected] 
    DocumentRoot "/Library/Server/Web/Data/Sites/mysite/site" 
    ... 
    WSGIScriptAlias /api /Library/Server/Web/Data/Sites/mysite/django-app/mysite/wsgi.wsgi 
    ... 
<VirtualHost> 

それは(私が最初に思ったvirtualenvのトップレベルを追加した後に自動的に含まれることになるサイト-ENV、への完全なパスを含む)正しいパスを取得するために私のためputzingの多くを取りました。

関連する問題