2010-04-21 201 views
1

嗯,我现在已经走了几天了......我想是时候请求一些帮助,我想我的安装是好的... 服务器操作系统:Centos 5 Python -v 2.6.5 Django的-v(1,1,1, '最终',0)Django部署麻烦

我的Apache的conf:

<VirtualHost *:80> 
    DocumentRoot /opt/workshop 
    ServerName taller.antell.com.py 
    WSGIScriptAlias//opt/workshop/workshop.wsgi 
    WSGIDaemonProcess taller.antell.com.py user=ignacio group=ignacio processes=2 threads=25 
    ErrorLog /opt/workshop/apache.error.log 
    CustomLog /opt/workshop/apache.custom.log combined 

    <Directory "/opt/workshop"> 
      Options +ExecCGI +FollowSymLinks -Indexes -MultiViews 
      AllowOverride All 
      Order allow,deny 
      Allow from all 
    </Directory> 
</VirtualHost> 

我的mod_wsgi CONF:

import os 
import sys 

sys.path.append('/opt/workshop') 

os.environ['DJANGO_SETTINGS_MODULE'] = 'workshop.settings' 
os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs' 

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

错误我“M让我的Apache的错误日志:

[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] mod_wsgi (pid=11459): Exception occurred processing WSGI script '/opt/workshop/workshop.wsgi'. 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] Traceback (most recent call last): 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  response = self.get_response(request) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/base.py", line 134, in get_response 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return self.handle_uncaught_exception(request, resolver, exc_info) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/base.py", line 154, in handle_uncaught_exception 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return debug.technical_500_response(request, *exc_info) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/views/debug.py", line 40, in technical_500_response 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  html = reporter.get_traceback_html() 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/views/debug.py", line 114, in get_traceback_html 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return t.render(c) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 178, in render 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return self.nodelist.render(context) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 779, in render 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  bits.append(self.render_node(node, context)) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/debug.py", line 81, in render_node 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  raise wrapped 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] TemplateSyntaxError: Caught an exception while rendering: No module named vehicles 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] Original Traceback (most recent call last): 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/debug.py", line 71, in render_node 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  result = node.render(context) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/debug.py", line 87, in render 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  output = force_unicode(self.filter_expression.resolve(context)) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 572, in resolve 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  new_obj = func(obj, *arg_vals) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/template/defaultfilters.py", line 687, in date 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return format(value, arg) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/dateformat.py", line 269, in format 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return df.format(format_string) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/dateformat.py", line 30, in format 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  pieces.append(force_unicode(getattr(self, piece)())) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/dateformat.py", line 175, in r 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return self.format('D, j M Y H:i:s O') 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/dateformat.py", line 30, in format 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  pieces.append(force_unicode(getattr(self, piece)())) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/encoding.py", line 71, in force_unicode 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  s = unicode(s) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/functional.py", line 201, in __unicode_cast 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return self.__func(*self.__args, **self.__kw) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/translation/__init__.py", line 62, in ugettext 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return real_ugettext(message) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 286, in ugettext 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return do_translate(message, 'ugettext') 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 276, in do_translate 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  _default = translation(settings.LANGUAGE_CODE) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 194, in translation 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  default_translation = _fetch(settings.LANGUAGE_CODE) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/translation/trans_real.py", line 180, in _fetch 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  app = import_module(appname) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  __import__(name) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] ImportError: No module named vehicles 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] mod_wsgi (pid=11463): Exception occurred processing WSGI script '/opt/workshop/workshop.wsgi'. 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] Traceback (most recent call last): 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  response = self.get_response(request) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/base.py", line 73, in get_response 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  response = middleware_method(request) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/middleware/common.py", line 56, in process_request 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  if (not _is_valid_path(request.path_info) and 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/middleware/common.py", line 142, in _is_valid_path 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  urlresolvers.resolve(path) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 303, in resolve 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  return get_resolver(urlconf).resolve(path) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 218, in resolve 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  sub_match = pattern.resolve(new_path) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 216, in resolve 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  for pattern in self.url_patterns: 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 245, in _get_url_patterns 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/core/urlresolvers.py", line 240, in _get_urlconf_module 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  self._urlconf_module = import_module(self.urlconf_name) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] File "/opt/python2.6/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122]  __import__(name) 
[Wed Apr 21 15:17:48 2010] [error] [client 190.128.226.122] ImportError: No module named vehicles.urls 

请给我一只手,我坚持......显然是与我的车辆模块(唯一一个在应用程序)的问题,还有一点是,当我尝试:

[[email protected] workshop]# python manage.py runserver 0:8000 

该应用程序运行非常好,我觉得现在的问题是靠近WSGI的conf东西,自己是不是点击....

韩国社交协会...

更新: 车间DIR看起来像......

[[email protected] workshop]# ls -l 
total 504 
-rw-r--r-- 1 root root 22706 Apr 21 15:17 apache.custom.log 
-rw-r--r-- 1 root root 408141 Apr 21 15:17 apache.error.log 
-rw-r--r-- 1 root root  0 Apr 17 10:56 __init__.py 
-rw-r--r-- 1 root root 124 Apr 21 11:09 __init__.pyc 
-rw-r--r-- 1 root root 542 Apr 17 10:56 manage.py 
-rw-r--r-- 1 root root 3326 Apr 17 10:56 settings.py 
-rw-r--r-- 1 root root 2522 Apr 21 11:09 settings.pyc 
drw-r--r-- 4 root root 4096 Apr 17 10:56 templates 
-rw-r--r-- 1 root root 381 Apr 21 13:42 urls.py 
-rw-r--r-- 1 root root 398 Apr 21 13:00 urls.pyc 
drw-r--r-- 2 root root 4096 Apr 21 13:44 vehicles 
-rw-r--r-- 1 root root 38912 Apr 17 10:56 workshop.db 
-rw-r--r-- 1 root root 263 Apr 21 15:30 workshop.wsgi 

车辆DIR

[[email protected] vehicles]# ls -l 
total 52 
-rw-r--r-- 1 root root 390 Apr 17 10:56 admin.py 
-rw-r--r-- 1 root root 967 Apr 21 13:00 admin.pyc 
-rw-r--r-- 1 root root 732 Apr 17 10:56 forms.py 
-rw-r--r-- 1 root root 2086 Apr 21 13:00 forms.pyc 
-rw-r--r-- 1 root root 0 Apr 17 10:56 __init__.py 
-rw-r--r-- 1 root root 133 Apr 21 11:36 __init__.pyc 
-rw-r--r-- 1 root root 936 Apr 17 10:56 models.py 
-rw-r--r-- 1 root root 1827 Apr 21 11:36 models.pyc 
-rw-r--r-- 1 root root 514 Apr 17 10:56 tests.py 
-rw-r--r-- 1 root root 989 Apr 21 13:44 tests.pyc 
-rw-r--r-- 1 root root 1035 Apr 17 10:56 urls.py 
-rw-r--r-- 1 root root 1935 Apr 21 13:00 urls.pyc 
-rw-r--r-- 1 root root 3164 Apr 17 10:56 views.py 
-rw-r--r-- 1 root root 4081 Apr 21 13:00 views.pyc 

更新2:这是我的settings.py

# Django settings for workshop project. 

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 

ADMINS = (
    ('Ignacio Rojas', '[email protected]'), 
    ('Fabian Biedermann', '[email protected]'), 
) 

MANAGERS = ADMINS 

DATABASE_ENGINE = 'sqlite3' 
DATABASE_NAME = '/opt/workshop/workshop.db' 
DATABASE_USER = '' 
DATABASE_PASSWORD = '' 
DATABASE_HOST = '' 
DATABASE_PORT = '' 

# Local time zone for this installation. Choices can be found here: 
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name 
# although not all choices may be available on all operating systems. 
# If running in a Windows environment this must be set to the same as your 
# system time zone. 
TIME_ZONE = 'America/Asuncion' 

# Language code for this installation. All choices can be found here: 
# http://www.i18nguy.com/unicode/language-identifiers.html 
LANGUAGE_CODE = 'es-py' 

SITE_ID = 1 

# If you set this to False, Django will make some optimizations so as not 
# to load the internationalization machinery. 
USE_I18N = True 

# Absolute path to the directory that holds media. 
# Example: "/home/media/media.lawrence.com/" 
MEDIA_ROOT = '' 

# URL that handles the media served from MEDIA_ROOT. Make sure to use a 
# trailing slash if there is a path component (optional in other cases). 
# Examples: "http://media.lawrence.com", "http://example.com/media/" 
MEDIA_URL = '' 

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a 
# trailing slash. 
# Examples: "http://foo.com/media/", "/media/". 
ADMIN_MEDIA_PREFIX = '/media/' 

# Make this unique, and don't share it with anybody. 
SECRET_KEY = '11y0_jb=+b4^[email protected]#g$-ihk5*v&[email protected]*9$w8jalp' 

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
) 

ROOT_URLCONF = 'workshop.urls' 

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
    "/opt/workshop/templates" 
) 

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'workshop.vehicles', 
) 

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.auth', 
    'django.core.context_processors.debug', 
    'django.core.context_processors.i18n', 
    'django.core.context_processors.media', 
) 

这是对的测试输出: http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

__name__ = settings 
__file__ = /opt/django/workshop/settings.pyc 
os.getpid() = 7207 
os.getcwd() = /opt/django/workshop 
os.curdir = . 
sys.path = ['/opt/django', '/opt/django/workshop', '/opt/django/workshop', '/opt/python2.6/lib/python26.zip', '/opt/python2.6/lib/python2.6', '/opt/python2.6/lib/python2.6/plat-linux2', '/opt/python2.6/lib/python2.6/lib-tk', '/opt/python2.6/lib/python2.6/lib-old', '/opt/python2.6/lib/python2.6/lib-dynload', '/opt/python2.6/lib/python2.6/site-packages'] 
sys.modules.keys() = ['copy_reg', 'encodings', 'site', '__builtin__', '__main__', 'encodings.encodings', 'abc', 'posixpath', 'errno', 'encodings.codecs', '_abcoll', 'types', '_codecs', '_warnings', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'warnings', 'UserDict', 'encodings.utf_8', 'sys', 'codecs', 'os.path', 'settings', 'signal', 'linecache', 'posix', 'encodings.aliases', 'exceptions', 'os'] 
sys.modules.has_key('workshop') = False 
__name__ = workshop.settings 
__file__ = /opt/django/workshop/settings.pyc 
os.getpid() = 7207 
os.getcwd() = /opt/django/workshop 
os.curdir = . 
sys.path = ['/opt/django', '/opt/django/workshop', '/opt/django/workshop', '/opt/python2.6/lib/python26.zip', '/opt/python2.6/lib/python2.6', '/opt/python2.6/lib/python2.6/plat-linux2', '/opt/python2.6/lib/python2.6/lib-tk', '/opt/python2.6/lib/python2.6/lib-old', '/opt/python2.6/lib/python2.6/lib-dynload', '/opt/python2.6/lib/python2.6/site-packages'] 
sys.modules.keys() = ['django.core.exceptions', 'django.core.management.django', 'copy_reg', 'sre_compile', 'django.conf.os', 'locale', '_sre', 'functools', 'encodings', 'django.conf.global_settings', 'site', '__builtin__', 'django.core.management', 'django.core.management.sys', 'django.utils.functional', '__main__', 'operator', 'encodings.encodings', 'django.utils.re', 'django.core.management.imp', 'django.core.management.color', 'abc', 'posixpath', 'django.utils', 'imp', 'errno', 'encodings.codecs', 'gettext', 'sre_constants', 'django.conf', 're', '_abcoll', 'types', 'django.utils.importlib', '_codecs', 'django.core.management.optparse', 'django.core.management.base', '_struct', '_warnings', 'django.conf.django', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'string', 'django.utils.termcolors', 'warnings', 'optparse', 'UserDict', 'struct', 'encodings.utf_8', 'django.utils.sys', 'textwrap', 'sys', 'django.django', 'codecs', 'django.utils.version', 'django.utils.os', 'copy', 'workshop.settings', 'os.path', 'strop', '_functools', '_locale', 'django.conf.time', 'django.conf.re', 'workshop.sys', 'settings', 'workshop', 'signal', 'django.core', 'django.utils.django', 'django', 'django.core.management.os', 'linecache', 'posix', 'encodings.aliases', 'time', 'exceptions', 'sre_parse', 'os', 'workshop.os'] 
sys.modules.has_key('workshop') = True 
sys.modules['wokshop'].__name__ = workshop 
sys.modules['workshop'].__file__ = /opt/django/workshop/__init__.pyc 
os.environ['DJANGO_SETTINGS_MODULE'] = workshop.settings 

新WSGI:

import sys 

sys.path.insert(0, '/opt/django/workshop') 
sys.path.insert(0, '/opt/django') 

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() 

解决了:

chmod -R 755 workshop && chown -R apache:apache workshop 
+0

你能显示你的目录结构吗?特别是,您是否有机会在主'workshop'目录下有第二个'workshop'目录,其中包含实际的应用程序? – 2010-04-21 19:49:48

+0

-rw-r - r-- 1 root root apache.custom.log -rw-r - r-- 1 root root apache.error.log -rw-r - r-- 1 root root __init__ .py -rw-r - r - 1 root root __init __。pyc -rw-r - r-- 1 root root manage.py -rw-r - r-- 1 root root settings.py -rw-r - r-- 1 root root settings.pyc drw-r - r-- 4根根模板 -rw-r - r-- 1 root root urls.py -rw-r --r - 1 root root urls.pyc drw-r - r-- 2根根据车辆 -rw-r - r-- 1 root root workshop.db -rw-r - r-- 1 root root workshop.wsgi – 2010-04-21 20:36:04

+0

尝试用'ls -1'展平,并编辑你的问题,以便我们可以看到它。格式化由于评论而全部错误。 – 2010-04-21 20:39:49

回答

4

尝试增加两者都含有settings.py文件和目录父目录到sys.path。更好的是,阅读'http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html'并使用最后描述的WSGI脚本文件内容(在您阅读帖子后为什么它是一个问题)。 :-)


更新1

在您发布的权限为“DRW-R - R-- 2对根根车辆的其他评论。

未在任何人的目录中设置'x'位。这将导致任何失败,需要能够生成目录列表来查看目录中的内容。

换句话说,看看你所有的目录权限,并将其修改为'drwxr-xr-x'。

另外,因为您已经创建了根目录所拥有的目录,所以如果您的应用程序需要写入任何目录,它将无法完成。

总之,目录/文件权限问题。

+0

它有点尴尬,但一个chmod -R 755 workshop && chown -R apache:apache workshop解决了这个问题......谢谢大家! – 2010-04-23 15:43:39

+0

男人,这节省了我的一天。虽然完全不同的问题。 感谢! – Ulf 2010-07-29 13:53:22

0

我的猜测是,你的路径实际上是/opt/workshop/workshop/

因此,在你的WSGI文件,你应该有sys.path.append('/opt/workshop/workshop') 如果这不是情况下,应该是而不是settings

我看到它的方式你有3个选项。

  1. opt添加到sys。路径,以便workshop.urls和这样的工作(坏主意恕我直言,因为opt可能包括anything`
  2. 从所有路径删除workshop
  3. 移动Python代码为workshop(或别的东西)目录(确保它包含一个__init__.py

个人而言,我会采取选项3,因为否则,你将与其余部分混合您的Python应用程序(媒体,模板等)

+0

它不能是/ opt/workshop/workshop /或apache不会将日志输出到他执行'ls'的目录中。 – 2010-04-21 21:04:27

+0

我认为这是后者。如果他的/ opt/workshop位于系统路径上,那么/ opt/workshop/workshop目录结构实际上将起作用 - 至少设置模块将位于workshop.settings中。 – 2010-04-21 21:04:34

+0

这是真的杰克米。在这种情况下,它可能是现在正在杀死它的设置:) – Wolph 2010-04-21 21:07:56