bdbxml に接続する 'mysite' という python/django アプリケーションがあります。アプリケーションは、django 開発サーバーを使用して正常に動作しますが、mod_wsgi を使用して実行すると失敗します。具体的には、データベースに接続するアプリケーションの部分で、「最終的に」「不良な例外が発生します」という非常に役に立たないメッセージで失敗します。
このエラーは、他に生成するエラー メッセージがない場合に C++ アプリケーションによって生成される一般的なエラーであるとグーグルで考えていますが、私は C++ の専門家ではないため、その意味がよくわかりません。
私の views.py 関数は次のようになります。
def dbquery(request):
mgr = XmlManager()
container = mgr.openContainer("/wsgi/mysite/mysite.bdbxml")
results = container.getAllDocuments(0)
for value in results:
document = value.asDocument()
return HttpResponse (document.getName())
私の django.wsgi ファイル (Graham Dumpleton から提案された形式を使用) は次のようになります。
import os, sys
sys.path.append('/wsgi')
sys.path.append('/wsgi/mysite')
import settings
import django.core.management
django.core.management.setup_environ(settings)
utility = django.core.management.ManagementUtility()
command = utility.fetch_command('runserver')
command.validate()
import django.conf
import django.utils
django.utils.translation.activate(django.conf.settings.LANGUAGE_CODE)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
httpd.conf は次のようになります。
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /wsgi/mysite/apache/django.wsgi
<Directory /wsgi/mysite>
Order deny,allow
Allow from all
</Directory>
この問題を解決する方法を知っている人はいますか?
ありがとう
アップデート
問題がデータベースのアクセス許可に関連している可能性があるという以下の Graham Dumpleton の提案に従って、データベースが配置されているディレクトリのアクセス許可を示す ls -las の出力を次に示します。すべてのファイルとフォルダーは apache によって所有されます。
4 drwxr-xr-x 5 apache apache 4096 May 5 06:26 .
4 drwxr-xr-x 3 apache apache 4096 May 4 22:09 ..
4 drwxr-xr-x 2 apache apache 4096 May 5 14:52 apache
4 -rw-r--r-- 1 apache apache 16 May 5 05:05 index.html
4 -rw-r--r-- 1 apache apache 12 May 5 04:52 index.html~
0 -rw-rw-r-- 1 apache apache 0 May 4 22:09 __init__.py
4 -rw-r--r-- 1 apache apache 114 May 5 05:39 __init__.pyc
4 -rw-rw-r-- 1 apache apache 503 May 4 22:09 manage.py
164 -rwxr-xr-x 1 apache apache 163840 May 5 05:23 mysite.bdbxml
4 drwxr-xr-x 2 apache apache 4096 May 5 05:26 scripts
8 -rw-rw-r-- 1 apache apache 5060 May 5 04:50 settings.py
8 -rw-rw-r-- 1 apache apache 5031 May 4 22:09 settings.py~
4 -rw-r--r-- 1 apache apache 2784 May 5 05:39 settings.pyc
4 drwxr-xr-x 2 apache apache 4096 May 5 04:49 templates
4 -rw-rw-r-- 1 apache apache 639 May 5 05:32 urls.py
4 -rw-rw-r-- 1 apache apache 600 May 5 04:42 urls.py~
4 -rw-r--r-- 1 apache apache 444 May 5 05:40 urls.pyc
4 -rw-r--r-- 1 apache apache 609 May 5 06:26 views.py
4 -rw-r--r-- 1 apache apache 609 May 5 06:26 views.py~
4 -rw-r--r-- 1 apache apache 914 May 5 06:26 views.pyc