我无法使用python passenger_wsgi.py
和虚拟环境在dreamhost共享主机上设置我的django。当我运行passenger_wsgi.py时,不会返回任何错误,shell会打印我的项目路径。我的网站显示500国际服务器错误。我已清除缓存,因此没有缓存错误。如何正确设置?
我的网站结构是:
/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()
答案 0 :(得分: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
从该页面开始:
每当修改应用程序的代码或配置文件时,您必须创建或更新文件的修改日期&#34; tmp / restart.txt&#34;在应用程序的根目录树中,以便触发Passenger重新初始化应用程序。 Passenger缓存许多资源,因此除非修改日期为&#34; tmp / restart.txt&#34;否则无法识别更改。改变了。
进行此更改的最常用方法是运行&#34;触摸tmp / restart.txt&#34;通过SSH。 (Ruby on Rails自动创建一个名为&#34; tmp&#34;的目录。如果要创建非RoR应用程序,则可能需要手动创建&#34; tmp&#34;目录。