【发布时间】:2012-08-05 02:42:01
【问题描述】:
我目前正在尝试使用乘客 wsgi 设置 Django 项目。我按照这篇文章中的说明进行操作:
Update new Django and Python 2.7.* with virtualenv on Dreamhost (with passenger)
但是,我收到一条错误消息“导入您的乘客wsgi.py 时出错”
如果我把它作为我的passenger_wsgi.py,我就能成功接收到你好消息:
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')])
return ["Hello, world!"]
但由于某种原因,如果我使用以下内容(在上面的帖子中概述),我无法克服错误。我在 path.append 和 os.environ 行上用我命名的项目替换了单词“project”,在 path.insert 行上用 subdomain.domain.com 替换。我错过了什么吗?我对这些东西很陌生,如果我能得到任何帮助,我将不胜感激!谢谢。
以下是在导入时收到错误的当前passenger_wsgi.py。
import sys, os
cwd = os.getcwd()
sys.path.append(cwd)
sys.path.append(cwd + '/project')
if sys.version < "2.7.3": os.execl("$HOME/<site>/env/bin/python",
"python2.7.3", *sys.argv)
sys.path.insert(0,'$HOME/<site>/env/bin')
sys.path.insert(0,'$HOME/<site>/env/lib/python2.7/site-packages/django')
sys.path.insert(0,'$HOME/<site>/env/lib/python2.7/site-packages')
os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
更新我能够获得一个导入的乘客 wsgi,但现在我收到 500 错误。这是我现在坐的:
import sys, os
sys.path.append(os.getcwd())
sys.path.append(os.path.join(os.getcwd(), 'project'))
sys.path.insert(0, 'home/<site>/env/bin')
sys.path.insert(0, 'home/<site>/env/lib/python2.7/site- packages/django')
sys.path.insert(0, 'home/<site>/env/lib/python2.7/site-packages')
sys.path.insert(0, 'home/<site>/roommates')
os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我又一次被困住了。我似乎无法找到我收到此错误的原因。每次尝试时,错误日志中显示的当前错误如下:
Premature end of script headers:
Premature end of script headers: internal_error.html
【问题讨论】:
-
你是否替换了所有其他可替换项?
-
我替换了追加行、版本行、环境行和插入行。我不确定的是插入线的作用以及我是否真的用正确的东西替换它们......
-
@sailboatlie 这些插入行确保乘客在您拨打
import ...时可以找到图书馆
标签: django passenger wsgi dreamhost