加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django中的WSGI出现500错误

发布时间:2020-12-20 11:22:07 所属栏目:Python 来源:网络整理
导读:我正在部署我的第一个Django项目,我感觉我非常接近,但只是需要一些帮助来克服这条线.这是问题所在: 我的httpd.conf更改如下所示: WSGIScriptAlias / /home/miketnc/frontend/tncsite/wsgi.pyWSGIPythonPath /home/miketnc/frontend/tncsiteDirectory /home
我正在部署我的第一个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错误.

我在日志中遇到的唯一错误是:
????“[2011年12月5日18:22:45] [错误] [客户端IP] mod_wsgi(pid = 19804):处理WSGI脚本’/home/miketnc/frontend/tncsite/apache/wsgi.py’时发生异常.”

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

谈论路径和权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读