2012-02-27 2 views
2

mod_wsgi를 사용하여 Apache에서 로컬 Django 서버를 실행하려고합니다. 나는 Mac에서 바로 사용할 수있는 Apache를 실행 중입니다.Mac에서 Apache 및 mod_wsgi를 사용하여 장고 설치 : 구성 문제

[email protected]:~/Sites/mysite$ apachectl -v 
Server version: Apache/2.2.21 (Unix) 
Server built: Nov 15 2011 15:12:57 

아파치가 mod_wsgi를 제대로로드합니다. 내 httpd.conf 파일에서

[email protected]:~/Sites/mysite$ apachectl -M | grep wsgi 
Syntax OK 
wsgi_module (shared) 

나는

WSGIDaemonProcess django 
WSGIProcessGroup django 
WSGIPythonHome /usr/local/Cellar/python/2.7.2/ 

Alias /mysite/ "/Users/hobbes3/Sites/mysite/" 
<Directory "/Users/hobbes3/Sites/mysite"> 
Order allow,deny 
Options Indexes 
Allow from all 
IndexOptions FancyIndexing 
</Directory> 

WSGIScriptAlias /mysite "/Users/hobbes3/Sites/mysite/apache/django.wsgi" 

<Directory "/Users/hobbes3/Sites/mysite/apache"> 
Allow from all 
</Directory> 

django.wsgi 파일 나는 또한 오류없이 아파치를 다시 시작할 수 있습니다

import os 
import sys 

paths = [ '/Users/hobbes3/Sites/mysite', 
      '/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages', 
] 

for path in paths: 
    if path not in sys.path: 
     sys.path.append(path) 

sys.executable = '/usr/local/bin/python' 
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

되어있는 apache_django_wsgi.conf을로드합니다. 그러나 http://localhost/mysite을 방문하려고하면 브라우저에 내 페이지의 색인 만 표시됩니다. 페이지 하단의 메시지는 Apache/2.2.21 (Unix) DAV/2 mod_wsgi/3.3 Python/2.7.2 PHP/5.3.8 with Suhosin-Patch Server at localhost Port 80입니다.

이전에 MySQLdb를로드 할 수 없다는 말을하기 전에는 오류가 표시되지 않습니다. 하지만 여전히 내 장고 사이트를 볼 수 없습니다. 당신은 둘 모두 Aliasmysite에 대한 WSGIScriptAlias있어

mod_wsgi (pid=74739): Exception occurred processing WSGI script '/Users/hobbes3/Sites/mysite/apache/django.wsgi'. 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 272, in __call__ 
    response = self.get_response(request) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/handlers/base.py", line 169, in get_response 
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/handlers/base.py", line 203, in handle_uncaught_exception 
    return debug.technical_500_response(request, *exc_info) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/views/debug.py", line 59, in technical_500_response 
    html = reporter.get_traceback_html() 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/views/debug.py", line 151, in get_traceback_html 
    return t.render(c) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/base.py", line 123, in render 
    return self._render(context) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/base.py", line 117, in _render 
    return self.nodelist.render(context) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/base.py", line 744, in render 
    bits.append(self.render_node(node, context)) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/debug.py", line 73, in render_node 
    result = node.render(context) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/debug.py", line 90, in render 
    output = self.filter_expression.resolve(context) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/base.py", line 536, in resolve 
    new_obj = func(obj, *arg_vals) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/template/defaultfilters.py", line 695, in date 
    return format(value, arg) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/dateformat.py", line 285, in format 
    return df.format(format_string) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/dateformat.py", line 30, in format 
    pieces.append(force_unicode(getattr(self, piece)())) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/dateformat.py", line 191, in r 
    return self.format('D, j M Y H:i:s O') 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/dateformat.py", line 30, in format 
    pieces.append(force_unicode(getattr(self, piece)())) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/encoding.py", line 71, in force_unicode 
    s = unicode(s) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/functional.py", line 206, in __unicode_cast 
    return self.__func(*self.__args, **self.__kw) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 81, in ugettext 
    return _trans.ugettext(message) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 286, in ugettext 
    return do_translate(message, 'ugettext') 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 276, in do_translate 
    _default = translation(settings.LANGUAGE_CODE) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 185, in translation 
    default_translation = _fetch(settings.LANGUAGE_CODE) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 162, in _fetch 
    app = import_module(appname) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 3, in <module> 
    from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/contrib/admin/helpers.py", line 3, in <module> 
    from django.contrib.admin.util import (flatten_fieldsets, lookup_field, 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/contrib/admin/util.py", line 1, in <module> 
    from django.db import models 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/db/__init__.py", line 78, in <module> 
    connection = connections[DEFAULT_DB_ALIAS] 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/db/utils.py", line 33, in load_backend 
    return import_module('.base', backend_name) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 14, in <module> 
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) 
TemplateSyntaxError: Caught ImproperlyConfigured while rendering: Error loading MySQLdb module: dlopen(/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib 
    Referenced from: /usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so 
+0

왜 '/ mysite /'에 대한 별칭 지시문을 원하십니까? Daniel이 지적했듯이, 우선 순위가 높습니다. –

답변

3

다음은 이전 오류 (나는 날짜와 시간을 잘립니다)입니다. 첫 번째 별칭이 우선 순위를 차지하는 것으로 추측되므로 Apache는 mod_wsgi에 위임하는 대신 디렉토리 목록을 제공합니다.

+0

예, 그게 다였습니다.하지만 지금은'TemplateSyntaxError : 렌더링 중 오류가 있습니다. MySQLdb 모듈로드 중 오류 발생 : dlopen (/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/) MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so, 2) : 라이브러리가로드되지 않음 : libmysqlclient.18.dylib' 오류가 다시 발생했습니다 ... 그럼에도 불구하고 도움을 주셔서 감사합니다. 한 번에 하나의 오류 수정 : P. – hobbes3