我正在尝试将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 中实现静态文件缓存的建议吗?谢谢!
对于缓存静态文件,我建议您这样做
location /static/ {
alias /home/ubuntu/app/staticfiles/;
expires 365d;
}
对于"没有这样的文件或目录"错误运行
./manage.py collectstatic
也许运行./manage.py collectstatic
?