我有一个连接到 bdbxml 的 python/django 应用程序“mysite”。该应用程序使用 django 开发服务器运行良好,但在使用 mod_wsgi 和 apache 运行时失败 - 我选择的生产路线。具体来说,连接到数据库的应用程序部分失败并显示非常无用的消息,“终于”弹出错误异常。
我通过谷歌搜索相信这个错误是由 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