这里有相当多关于同一主题的帖子,我已经尝试了我认为适用的尽可能多的帖子。然而,我仍然有这个错误。对于我构建的django站点,除了用于管理的静态文件之外,一切都很好。
版本: Django 1.6、Apache 2.4.7、Ubuntu 14.04
好的--我已经运行了manage.py收集器,下面是静态文件夹:
/srv/bahai-site/bahai-site/soul/static它包含四个文件夹: 1) admin/ 2) bootstrap/ 3) core/和4) flag/
在这些文件夹中,我可以看到所有预期的静态文件,并且它们包含我期望的代码。
当查看站点本身的静态文件时,像/ static /core/css/desktop_992.css这样的内容正确加载,而/static/admin/css/base.css抛出404。
Http.conf中的Apache指令:
Alias /static/ /srv/bahai-site/bahai-site/soul/static/
<Directory /srv/bahai-site/bahai-site/soul/static/>
Allow from all
</Directory>
WSGIScriptAlias / /srv/bahai-site/soul/soul/wsgi.py
WSGIPythonPath /srv/bahai-site/soul/soul:/srv/envelope/bahai-site/lib/python2.7/site-packages
<Directory /srv/bahai-site/soul/soul>
<Files wsgi.py>
Allow from all
</Files>
</Directory>附带问题:请注意,WSGIScriptAlias和WSGIPythonPath只包含一个"bahai-site/“目录级别,而不是"/srv/”之后实际存在的两个目录级别。为什么网站运行得很好?这不应该是一个问题吗?
不管怎样,我到底做错了什么?如何让这些管理静态文件启动并运行?
发布于 2014-09-07 05:55:48
就pythonpath而言,我个人并没有在我的apache虚拟主机配置文件中包含它,它是有效的。也许这不是必需的?老实说,我对服务器安装并不是很精通。这看起来绝对像是一个许可问题。
我会使用sudo运行集合静态,然后我还会确保静态文件夹具有www-data group权限,这是apache开箱即用的权限。
如果您需要在Ubuntu中设置文件夹权限的帮助,请查看此处的链接。https://askubuntu.com/questions/244406/how-do-i-give-www-data-user-to-a-folder-in-my-home-folder
发布于 2014-10-20 01:27:59
问题是我用相互竞争的指令为Apache更新了两个不同的配置文件。
给其他初学者的提示:
指令(例如,类似于...)可以放在apache2根目录下的任何文件中--在我的例子中是/etc/apache2/中的任何文件。(高级用户的问题:这只适用于Ubuntu吗?或者几乎任何Linux/Unix?)这会让您感到困惑,因为如果您使用来自多个在线帖子/文档的信息来解决问题,您可能会有各种各样的人的Apache配置偏好/风格的大杂烩。这就是我的问题所在。
作为初学者,您可能希望看到可以放置配置/定制(在本例中为指令)的某种单一位置。在Apache上就不是这样了。你可以把它们放在任何地方。一旦你提高了对Apache的了解,这可能是件好事,但当你刚开始的时候,这可能会很糟糕。
我在这里的解决方法是遍历我在/etc/apache2/文件夹中接触到的所有文件,并将所有规则合并到一个位置。这导致我删除了重复/冲突的规则,从而解决了问题。
现在我想我需要和一个心理医生谈谈...
https://stackoverflow.com/questions/25702982
复制相似问题