Apache mod_wsgi Django 设置 - 禁止 你没有权限访问 /mysite 这个服务器
我在Windows XP上安装了Python 2.6、Apache 2.2和mod_wsgi ap2.2 py26。Apache可以正常加载mod_wsgi。当我检查localhost时,Apache显示“正常工作!”但是当我尝试打开Django目录我的网站时,输入localhost/mysite却出现了:
禁止访问
你没有权限访问这个服务器上的/mysite。
我已经重新安装了很多次,但结果还是一样。教程上说应该显示“正常工作”。
httpd.conf文件里有:
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / /mysite/apache/mysite.wsgi
这些都运行正常,具体可以参考:http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/
我的项目路径是C:\mysite,按照教程,mysite.wsgi的路径是C:\mysite\apache\mysite.wsgi。
我搜索过这个问题,但找到的解决方案都是针对Linux的,谁能给我一个适用于Windows的答案呢。
错误日志是:
[错误] [客户端 127.0.0.1] 客户端被服务器配置拒绝:C:/mysite/apache/mysite.wsgi
有人能帮我解决这个问题吗...谢谢。
2 个回答
在httpd.conf文件中添加以下代码:
<Directory C:/mysite/apache>
Order deny,allow
Allow from all
</Directory>
这个配置片段来自Linux,而不是Windows,不过(除了路径的不同)应该能很好地代表一个好的mod_wsgi配置。根据你描述的情况,听起来你没有正确设置mysite.wsgi
文件所在目录的权限。简单来说,想要访问你网站任何部分的人,都必须对包含这个文件的目录有“访问权限”。
WSGIProcessGroup foo
WSGIDaemonProcess foo processes=2 threads=5 home=/data/web/foo display-name=foo
DocumentRoot /var/www
WSGIScriptAlias / /data/web/foo/apache/django.wsgi
<Directory /data/web/foo/apache>
Order allow,deny
Allow from all
</Directory>
Alias /static/ /data/web/foo/site/foo/static/
<Directory /data/web/foo/site/foo/static/>
SetHandler None
Order allow,deny
Allow from all
</Directory>