使用passenger-wsgi进行Django部署

时间:2014-09-30 21:28:22

标签: python django passenger wsgi dreamhost

似乎我使用此代码成功部署了应用程序

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的正确途径......任何帮助都将非常感激

1 个答案:

答案 0 :(得分:1)

我终于解决了, 我在dreamhost上部署,他们的服务器有django1.2和python2.6,每当我试图制作python2.7并让它成为默认乘客获得python 2.6并成功执行python2.7但由于某种原因它遇到了django1 .2而不是我安装的最新django。

我在/ usr /中安装了python2.7(使用sudoer account ofcourse)然后我将新的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的日志

  
      
  1. ssh进入您的服务器

  2.   
  3. 执行python manage.py runserver

  4.   
  5. 同时打开另一个ssh会话

  6.   
  7. 在新的ssh执行lynx localhost:8000

  8.   

然后,您将能够在第二个ssh中看到来自django的日志和调试信息。