bdbxml에 연결하는 Python/django 응용 프로그램 'mysite'가 있습니다. 응용 프로그램을 django 개발 서버를 사용하여 잘 작동하지만 아파치 mod_wsgi를 사용하여 실행할 때 실패 - 생산을 위해 선택한 경로. 특히 매우 도움이되지 않는 메시지로 실패한 데이터베이스에 연결하는 응용 프로그램의 부분입니다. 'finally'는 잘못된 예외를 나타냅니다.berkeley dbxml django mod_wsgi가 오류와 함께 작동하지 않습니다. 'finally'가 나쁜 예외를 나타냅니다.
나는이 오류가 생성 할 다른 오류 메시지가 없을 때이 오류가 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 파일 (그레이엄 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>
누구든지이 문제를 해결하는 방법을 알고 있습니까?
감사
업데이트 문제가 데이터베이스에 대한 사용 권한에 링크 될 수 있음을 아래 그레이엄 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
Apache가 실행되는 사용자에게 필요한 모든 파일/디렉토리를 읽고 쓸 수 있습니까? –
예, 모든 파일에 755가 있다고 말할 수 있습니다. – AnotherLongUsername
하지만 누가 소유하고 있습니다. 아파치가 소유하지 않은 u + w 및 디렉토리/파일 만있는 경우 쓰기가 가능하므로 데이터베이스를 사용할 때 파일 시스템에 잠금 파일을 만들지 못할 수 있습니다. 데이터베이스가있는 디렉토리에 대해 'ls -las'의 출력으로 문제를 제기하십시오. –