Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-已部署,403用于静态,但它应该具有权限,wsgi+;阿帕奇_Python_Django_Apache - Fatal编程技术网

Python Django-已部署,403用于静态,但它应该具有权限,wsgi+;阿帕奇

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/ 可能有两种不同的情况导致您的配置无法工作。首先,我要确

我部署的Django项目无法访问静态文件,在Chrome中检查时,我得到了403个静态文件

我在我的000-default.conf中添加了以下内容,其中还有WSGIScriptAlias等:

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