2

I am trying to configure Nginx to leverage on static file caching on browser. My configuration file is as following

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/;
    }
...
}

When I add in the following caching configuration, the server fails to load static files and I am not able to restart my Nginx.

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

The nginx-error log shows open() "/usr/share/nginx/html/media/cover_photos/292f109e-17ef-4d23-b0b5-bddc80708d19_t‌​humbnail.jpeg" failed (2: No such file or directory)

I have done quite some research online but cannot solve this problem.

Can anyone help me or just give me some suggestions on implementing static file caching in Nginx? Thank you!

1

2 Answers 2

3

For caching static files, I would recommend you to do this way

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

for "No such file or directory" errors do run

    ./manage.py collectstatic
Sign up to request clarification or add additional context in comments.

Comments

0

Maybe run ./manage.py collectstatic ?

2 Comments

Hi @Steven Xie, do we need to collect statics after changing the nginx configuration?
Yes if you changed the static location of the Nginx Configuration. By default it will collect all the static files to that location. If you changed it, better run it again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.