浏览器上的Django Nginx静态文件缓存

时间:2014-12-16 04:22:19

标签: django caching nginx configuration django-staticfiles

我正在尝试配置Nginx以利用浏览器上的静态文件缓存。我的配置文件如下

server {

listen   80;
server_name localhost;

client_max_body_size 4G;

access_log /home/user/webapps/app_env/logs/nginx-access.log;
error_log /home/user/webapps/app_env/logs/nginx-error.log;

location /static/ {
    alias   /home/user/webapps/app_env/static/;
}

location /media/ {
    alias   /home/user/webapps/app_env/media/;
    }
...
}

当我添加以下缓存配置时,服务器无法加载静态文件,我无法重新启动我的Nginx。

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 365d;
}

nginx错误日志显示open()" / usr / share / nginx / html / media / cover_photos / 292f109e-17ef-4d23-b0b5-bddc80708d19_t humbnail.jpeg"失败(2:没有这样的文件或目录)

我在网上做了很多研究,但无法解决这个问题。

任何人都可以帮助我或者只是给我一些关于在Nginx中实现静态文件缓存的建议吗?谢谢!

2 个答案:

答案 0 :(得分:2)

对于缓存静态文件,我建议你这样做

location /static/ {
  alias /home/ubuntu/app/staticfiles/;
  expires 365d;
}

for"没有这样的文件或目录"错误确实在运行

    ./manage.py collectstatic

答案 1 :(得分:0)

也许运行./manage.py collectstatic