Python Django-已部署,403用于静态,但它应该具有权限,wsgi+;阿帕奇
我部署的Django项目无法访问静态文件,在Chrome中检查时,我得到了403个静态文件 我在我的000-default.conf中添加了以下内容,其中还有WSGIScriptAlias等:Python Django-已部署,403用于静态,但它应该具有权限,wsgi+;阿帕奇,python,django,apache,Python,Django,Apache,我部署的Django项目无法访问静态文件,在Chrome中检查时,我得到了403个静态文件 我在我的000-default.conf中添加了以下内容,其中还有WSGIScriptAlias等: Alias /static/ /home/budget/static/deploy/ <Directory /home/budget/static/deploy> Required all granted </Directory/ 可能有两种不同的情况导致您的配置无法工作。首先,我要确
Alias /static/ /home/budget/static/deploy/
<Directory /home/budget/static/deploy>
Required all granted
</Directory/
可能有两种不同的情况导致您的配置无法工作。首先,我要确保您确实在修改正确的Apache配置文件。您可以运行此命令来检查:
/usr/sbin/apachectl -V | grep SERVER_CONFIG_FILE | awk '{split($0,a,"="); print a[2]}' | sed s/\"//g
然后,要通过WSGI将其他API请求委托给django,您还应该为WSGI文件提供正确的权限(这可能不是静态服务工作所必需的):
最后,您可能需要设置一些权限,以允许www数据读取您的媒体和静态文件,您应该已全部设置。不要忘记重新启动Apache以应用修改。您好,谢谢。我有一个类似于您的wsgi.py的代码段(但是有我的项目的路径),因此配置文件应该是正确的。我添加了您提供的
WSGIDaemonProcess
行,但没有任何改变。最后,我给了www数据所有权如下:sudo chown-R www data:www data deploy
(对于每个文件夹,我不确定是否有必要),并重新启动了Apache,但没有任何更改。给您403的url是什么?您是否已检查是否编辑了正确的配置文件?您可以以sudo chmod-R 775/home/budget/static/deploy
/usr/sbin/apachectl -V | grep SERVER_CONFIG_FILE | awk '{split($0,a,"="); print a[2]}' | sed s/\"//g
<Directory /path/to/django/project/project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/path/to/django/project python-home=/path/to/your/venv
WSGIProcessGroup mydjangoproject
WSGIScriptAlias /binding/url /path/to/django/project/project/wsgi.py