看来我使用此代码成功部署了应用程序
import sys, os
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = "UR.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
但是 Django 无法正常运行,因为它无法获取最新版本的 Django,并使用 Python 2.3 运行旧版本。我安装了最新的 Django 和 Python 2.7,并添加了这两行,现在我收到内部服务器错误..
INTERP = '/home/username/opt/python-2.7.7/bin/python'
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
我确信这是通向我的 Python 2.7 的正确路径...任何帮助将不胜感激
最佳答案
终于解决了 我在dreamhost上部署,他们的服务器有django1.2和python2.6,每当我尝试制作python2.7并让它成为默认乘客时,就会进入python 2.6并成功执行python2.7,但由于某种原因它遇到了django1 .2 而不是我安装的最新 django。
我在/usr/中安装了python2.7(当然使用sudoer帐户),然后我将新的django安装到站点包中,现在我不再需要执行python2.7的行,因为它现在与django一起是默认值1.7
我还编辑了 Passenger-wsgi 文件,这段代码对我来说工作得很好......
import sys, os
sys.path.append(os.path.join(os.getcwd(), 'projectname')) #I needed this
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
现在唯一的挫折是服务器的响应速度变慢,但除此之外一切都很顺利
我发现了一个进入 django 日志的好技巧
ssh into your server
Execute python manage.py runserver
Open another ssh session at the same time
In the new ssh execute lynx localhost:8000
然后您将能够在第二个 ssh 中看到来自 django 的日志和调试信息。
关于python - 使用 Passenger-wsgi 进行 Django 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130408/