【问题标题】:Hosting Django with passenger_wsgi.py使用passenger_wsgi.py 托管Django
【发布时间】:2016-05-06 08:27:29
【问题描述】:

我在使用python passenger_wsgi.py 和虚拟环境在dreamhost 共享主机上设置我的django 时遇到问题。当我运行passenger_wsgi.py 时,不会返回任何错误,并且shell 会打印我的项目路径。我的网站显示 500 International 服务器错误。我已经清除了我的缓存,所以没有缓存错误。如何正确设置?

django 1.9 蟒蛇2.7 阿帕奇

我的网站结构是:

/home/myuser/mydomain.com/
   env/
   myApp/
   passenger_wsgi.py
   public/

passenger_wsgi.py

import sys, os
cwd = os.getcwd()
sys.path.append(cwd)

project_location = cwd + '/myApp'
print (project_location)
sys.path.insert(0, project_location)

#Switch to new python
if sys.version < "2.7.3": os.execl("/home/myuser/mydomain.com/env/bin/python",
"python2.7.3", *sys.argv)

sys.path.insert(0,'/home/myuser/mydomain.com/env/bin')
sys.path.insert(0,'/home/myuser/mydomain.com/env/lib/python2.7/site-packages/django')
sys.path.insert(0,'/home/myuser/mydomain.com/env/lib/python2.7/site-packages')


os.environ['DJANGO_SETTINGS_MODULE'] = "myApp.settings"

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

【问题讨论】:

  • tailf /var/log/apache2/error.log 可能会有所帮助...或在您的 settings.py 中设置 DEBUG=True ...
  • 调试是真的,我是否在passenger_wsgi.py中正确设置了我的文件和所有内容?

标签: python django apache hosting


【解决方案1】:

我在从 Django 1.6 升级到 1.8 时遇到了 Dreamhost 问题。问题之一是 WSGIHandler()。我不能说这是你的问题,但你可以尝试像这样设置application

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

最后 - 确保重新启动乘客。这里有关于如何做的文档:http://wiki.dreamhost.com/Passenger

从那个页面:

每当您的应用程序的代码或配置文件被修改时,您必须在应用程序的根目录树中创建或更新文件“tmp/restart.txt”的修改日期,以触发Passenger重新初始化应用程序。乘客缓存了许多资源,因此除非“tmp/restart.txt”的修改日期发生更改,否则无法识别更改。

进行此更改的最常见方法是通过 SSH 运行“touch tmp/restart.txt”。 (Ruby on Rails 会自动创建一个名为“tmp”的目录。如果您正在创建非 RoR 应用程序,您可能需要手动创建“tmp”目录。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 2010-11-03
  • 2013-06-12
  • 2017-01-12
  • 1970-01-01
  • 2014-11-29
  • 1970-01-01
相关资源
最近更新 更多