【发布时间】:2011-08-02 10:24:00
【问题描述】:
这是我莫名其妙的问题: 在我的 Pinax 开发机器上一切都很好,但是当我将文件移动到生产环境时,(使用 nginx webserver + Flup)没有加载样式表。
我跑了
python manage.py build_static
我的项目,转到服务器 foo.com,位于 /www/foo 中,并且我的所有静态文件都被复制
/www/foo/site_media/静态
这里是 sttings.py 中的相关部分
PINAX_ROOT = os.path.abspath(os.path.dirname(pinax.file)) PROJECT_ROOT = os.path.abspath(os.path.dirname(文件))
PINAX_THEME = "默认"
调试 = 假
MEDIA_URL = "/site_media/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, “site_media”、“静态”)
STATIC_URL = "/site_media/static/"
ADMIN_MEDIA_PREFIX = posixpath.join(STATIC_URL, "admin/")
在 nginx 的 foo.com 我有:
location /site_media { autoindex on; root /www/foo/; } location /static/ { root /www/foo/site_media/static/; }
每次我尝试不同的调整时,我都会重新启动 nginx 和 fcgi(希望如此):
python /www/foo/manage.py runfcgi host=127.0.0.1 port=7718 pidfile=/www/foo/foocom.pid maxspare=2
urls.py 中没有关于静态文件的具体规则。我需要在这里添加一些东西吗?
我已经尝试了几十种不同的路径组合,但没有机会。真的很沮丧,很感激你的线索。
【问题讨论】:
-
当您尝试直接在浏览器中加载样式表时会发生什么?你得到什么错误?
-
Pekka,你是救生员!您的建议引发了解决问题的想法。实际上有一个权限问题给了我 403 错误。所以我做了'chown -R 777 /site_media',现在一切都很好。非常感谢我的朋友。
标签: css django static nginx pinax