Django中的WSGI出现500错误
我正在部署我的第一个Django项目,我感觉我非常接近,但只是需要一些帮助来克服这条线.这是问题所在:
我的httpd.conf更改如下所示: WSGIScriptAlias / /home/miketnc/frontend/tncsite/wsgi.py WSGIPythonPath /home/miketnc/frontend/tncsite <Directory /home/miketnc/frontend/tncsite> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory> 到目前为止,wsgi.py中的“hello world”脚本运行得很好.当我使用Django doc-recommended wsgi脚本时出现问题: import os,sys sys.path.append('/home/miketnc/frontend/tncsite') os.environ.setdefault("DJANGO_SETTINGS_MODULE","tncsite.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application() 这会导致500错误: File "/home/miketnc/frontend/tncsite/wsgi.py",line 10,in ? mod_wsgi (pid=15494): Exception occurred processing WSGI script '/home/miketnc/frontend/tncsite/wsgi.py'. mod_wsgi (pid=15494): Target WSGI script '/home/miketnc/frontend/tncsite/wsgi.py' cannot be loaded as Python module. 我在错误上看到的所有支持都与apache中的错误安装有关,而不是找到模块等,如果“hello world”正在运行则不会出现这种情况. 有任何想法吗? UPDATE 在新服务器上重新启动后,我已经成功地将事情向前推进了.好消息是python和WSGI似乎打得很好,不好的是我现在得到了另一种500错误. 我在日志中遇到的唯一错误是: Hello World脚本仍然正常运行,错误的触发器是最后一行: application = django.core.handlers.wsgi.WSGIHandler() 我已经将包含项目的所有目录从前端/下移到777,并且我已经添加了一个守护进程作为我自己: LoadModule wsgi_module /usr/local/apache/extramodules/mod_wsgi.so AddHandler wsgi-script .wsgi WSGIDaemonProcess miketnc processes=2 maximum-requests=500 threads=1 WSGIProcessGroup miketnc WSGIScriptAlias / /home/miketnc/frontend/tncsite/apache/wsgi.py <Directory /home/miketnc/frontend/tncsite> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory> 有人请进一步建议如何使这项工作? 解决方法
在你的情况下:
WSGIPythonPath /home/miketnc/frontend/tncsite 是冗余的,因为您在WSGI脚本文件中设置sys.path. 你缺少的是添加网站的父目录: sys.path.append('/home/miketnc/frontend') 这是添加’/ home / miketnc / frontend / tncsite’的现有行的补充. 读: http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango 并观看: http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations 谈论路径和权限. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |