错误:在 apache 上运行 django 时找不到目标 WSGI 脚本或无法统计
Posted
技术标签:
【中文标题】错误:在 apache 上运行 django 时找不到目标 WSGI 脚本或无法统计【英文标题】:Error: Target WSGI script not found or unable to stat when run django on apache 【发布时间】:2012-03-18 00:49:48 【问题描述】:在 apache 上运行 django 时遇到问题:
htdocs/blog/apps/homepage/urls.py:
url(r'^$', 'index', name="h_index"),
url(r'^about/$', 'about', name="h_about"),
url(r'^contact/$', 'contact', name="h_contact"),
url(r'^archive/$', 'archive', name="h_archive"),
htdocs/blog/urls.py
(r'^', include('apps.homepage.urls')),
django.wsgi:
import os
import os.path
import sys
sys.path.append('D:/Coding/xampp/htdocs')
sys.path.append('D:/Coding/xampp/htdocs/blog')
os.environ['DJANGO_SETTINGS_MODULE'] = 'blog.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
httpd.conf:
Alias /static/ "D:/Coding/xampp/htdocs/blog/static/"
WSGIScriptAlias /blog/ "D:/Coding/xampp/htdocs/blog/django.wsgi"
当我运行“localhost/blog”时,它正在工作。但是运行“localhost/blog/about/”之类的,就报错了:
[error] [client ::1] Target WSGI script not found or unable to stat: .../htdocs/blog/django.wsgiabout, referer: http://localhost/blog/
【问题讨论】:
【参考方案1】:请注意您的 apache 配置与 mod_wsgi 的 WSGIScriptAlias 记录的语法不匹配。
WSGIScriptAlias /blog/ "D:/Coding/xampp/htdocs/blog/django.wsgi"
应该是:
WSGIScriptAlias /blog "D:/Coding/xampp/htdocs/blog/django.wsgi"
(注意第二个标记“/blog”后面没有斜杠)
我刚刚解决了同样的问题,并在谷歌上找到了这个帖子。希望这对您和未来的用户有所帮助。
更多信息:
http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines【讨论】:
【参考方案2】:我怀疑你没有加载 wsgi 模块。如果您仔细查看错误消息,Apache 会将其视为文件并将 about 添加到它要查找的 wsgi 脚本文件的名称中 - 因此它找不到它。
【讨论】:
wsgi 模块? LoadModule wsgi_module modules/mod_wsgi.so以上是关于错误:在 apache 上运行 django 时找不到目标 WSGI 脚本或无法统计的主要内容,如果未能解决你的问题,请参考以下文章
当我在 pydriod 3 应用程序上运行 python manage.py runserver 时找不到模板
mod_wsgi 错误:ModuleNotFoundError:没有名为“django”的模块
错误:在 windows7 中安装 PIL 时找不到 vcvarsall.bat [重复]