我无法配置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错误。我无法解决它两天。请帮忙。