客户端拒绝服务器配置。 Django应用程序与mod_wsgi和apache 2.4

时间:2017-02-15 21:25:46

标签: python django apache permissions mod-wsgi

我无法配置apache 2.4在干净的Ubuntu 16.04安装上运行wsgi应用程序。我使用Python 3.5和mod_wsgi 3.5(我的Python和Apache手动编译)我已经成功地完成了很多次,这次我不知道是什么问题。

我的应用配置如下:

<VirtualHost *:80>
    WSGIScriptAlias / /var/django/myapp/myapp/wsgi.py
    WSGIDaemonProcess myapp python-home=/var/.virtualenvs/myapp python-path=/var/django/myapp
    WSGIProcessGroup myapp

    ServerName mydomain.com
    ErrorLog /var/log/apache2/myapp_error.log

    alias /static /var/django/myapp/static/
    <Directory "/var/django/myapp/static/">
            Require all granted
    </Directory>
    <Directory "/var/django/myapp/myapp">
            <Files "wsgi.py">
                    Require all granted
            </Files>
    </Directory>

我总是对我的所有Django项目使用完全相同的配置,但是现在,每次去mydomain.com时,我都会收到403 Forbidden页面。如您所见,我将apache配置为将错误记录到myapp_error.log,但它会记录到常规error.log

AH01630: client denied by server configuration: /var/www/html

另外,我不明白为什么会说/var/www/html。我删除了html文件夹,甚至注释掉了

#<Directory /var/www/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory> 

在Apache主配置文件中,但我仍然收到此消息。我检查了一些其他配置文件,如000-default.conf,但没有发现与'html'文件夹有关。

我启用了LogLevel信息,myapp_error.log

中出现了以下行
[Wed Feb 15 21:32:15.006425 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Attach interpreter ''.
[Wed Feb 15 21:32:15.024194 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Adding '/var/django/myapp' to path.
[Wed Feb 15 22:50:13.237501 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Shutdown requested 'myapp'.
[Wed Feb 15 22:50:13.237561 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Stopping process 'myapp'.
[Wed Feb 15 22:50:13.237569 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Destroying interpreters.
[Wed Feb 15 22:50:13.237573 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Cleanup interpreter ''.
[Wed Feb 15 22:50:13.241445 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Terminating Python.
[Wed Feb 15 22:50:13.245683 2017] [:info] [pid 9701:tid 140288059017088] mod_wsgi (pid=9701): Python has shutdown.

这意味着Python正在运行且mod_wsgi没问题。

我认为这可能是某种许可问题,但我无法弄明白。 /var/django文件夹归我所有:django。 www-data用户也在django组。

wsgi.py文件权限

-rwxr-x--x  1 me django  400 Jan 20 15:32 wsgi.py

r-x应该够了吧? 我尝试制作wsgi.py文件的权限777,但它没有用。

在这台服务器上使用相同配置工作的IT最有趣的事情,然后停止了。不确定会出现什么问题。我执行git pull命令更新我的应用程序的源代码,做了一些其他的东西,然后我得到了令人讨厌的403错误。我无法解决它两天。请帮忙。

0 个答案:

没有答案