Django,mod_wsgi - 守护进程模式,403 Forbidden,在/ var / www / html中工作

时间:2014-04-20 22:15:10

标签: django apache mod-wsgi http-status-code-403

当我将 / home / django / mysite 移动到 / var / www / html / mysite 时, chown -R apache:apache 可行。但是在主目录中我得到了403禁止。

我花了6个小时试图让它发挥作用。我发现它在/ var / www / html中工作的巨大进步,因为我知道我的所有“配置”设置都是正确的。

这是我的httpd.conf

(第一个设置必须添加以停止503内部服务器错误)

WSGISocketPrefix /var/run/wsgi

<VirtualHost 208.115.206.227:80>
 WSGIDaemonProcess django user=django group=django python-path=/home/django/mysite
 WSGIProcessGroup django

     ServerAdmin webmaster@mktrn.net
     ServerName endor.mktrn.net
    WSGIScriptAlias / /home/django/mysite/mysite/wsgi.py
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>
<Directory /home/django/mysite/mysite>
<Files wsgi.py>
    Order allow,deny
    Allow from all
</Files>
    </Directory>
</VirtualHost>

再说一次,如果我只用/ var / www / html替换/ home / django / mysite,上面的工作就会起作用。

我在用户django 下运行mod_wsgi作为守护进程 - 所以我不认为是这样。我究竟做错了什么?我知道放入/ var / www / html是不明智的,即使我没有文档根目录,所以真的想弄清楚这一点!

1 个答案:

答案 0 :(得分:1)

诸如/ home / django之类的主目录通常不会被其他人读取,因此Apache运行的用户将无法看到该目录,因此将禁止访问。这就是为什么当你把它移到其他地方时它会起作用。