私はホスティング プロバイダーと協力して Django アプリケーションを稼働させようとしていますが、どちらもあまり経験がなく、基本的に完全な行き詰まりに陥っています。
conf ファイルに直接アクセスすることはできませんが、その内容について次のように説明されています。
<IfModule mod_wsgi.c>
WSGIScriptAlias /fredapp/ /home/fred/public_html/cgi-bin/fredapp/apache/django.wsgi
WSGIDaemonProcess fred threads=15 display-name=%{GROUP} python-path=/home/fred/public_html/cgi-bin/fredapp/apache/
WSGIProcessGroup fred
WSGIApplicationGroup %{GLOBAL}
</IfModule>
Alias /robots.txt /home/fred/public_html/fred-site/robots.txt
Alias /favicon.ico /home/fred/public_html/fred-site/favicon.ico
Alias /settings/media/ /home/fred/public_html/fred-site/media/
私の "django.wsgi" スクリプトは派手なものではありません:
import os, sys
sys.path.append('/home/fred/public_html/cgi-bin/')
sys.path.append('/home/fred/public_html/cgi-bin/fredapp/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'fredapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
私の理解では、これはすべて、domain.com/fredapp/ にリクエストが届いた場合、django.wsgi を介してアプリケーションに引き渡す必要があることを意味します。ただし、私が得る唯一の応答は次のとおりです。
[Fri Jan 22 18:46:08 2010] [error] [client xx.xxx.xx.xx] File does not exist: /home/fred/public_html/domain.com/500.shtml
[Fri Jan 22 18:46:08 2010] [error] [client xx.xxx.xx.xx] mod_wsgi (pid=26760): Exception occurred processing WSGI script '/home/fred/public_html/cgi-bin/fredapp/apache/django.wsgi'.
[Fri Jan 22 18:46:03 2010] [error] [client xx.xxx.xx.xx] File does not exist: /home/fred/public_html/domain.com/404.shtml
[Fri Jan 22 18:46:03 2010] [error] [client xx.xxx.xx.xx] File does not exist: /home/fred/public_html/domain
これは Linux 上の Apache で実行されています。サーバー上の Python インタープリターで .wsgi スクリプトの各行を実行しようとしましたが、いずれもエラーを返しません。私もこのトリックを試しましたsys.stdout = sys.stderr
が、上記以外の出力は得られませんでした。The File does not exist エラーは、サイトのセットアップの残りの部分に関係しており、任意の要求で発生します。アプリ自体を実行しようとしているだけなので、すべての設定 (エラー ページやインデックス ページなど) を適切に完了していません。
私はこのアプリを自分のマシンで Apache の下で起動して実行していますが、デーモン モードではありませんが、これは私の最初の Django アプリであり、私のホスティング プロバイダーはこれまで Django アプリを構成したことがないと思います。少し盲目。誰か提案があれば、私はとても感謝しています。ありがとうございました!