I set up my Django server and it’s been operating for a while now. I experienced this really weird bug where certain files (>1MB) get rejected by Nginx. error.log indicated the following as an example:
2017/06/27 01:03:29 [error] 1643#1643: *30 open() "/home/brian/nydkc11/nydkc11/nydkcd11/media/image_main/dtc1.jpg" failed (13: Permission denied), client: 108.29.217.25, server: nydkc11.org, request: "GET /media/image_main/dtc1.jpg HTTP/1.1", host: "nydkc11.org", referrer: "http://nydkc11.org/admin/blog/image/7/change/"
The weirdest thing is that Nginx serves static files on the <1MB just fine, and the problematic files serve perfectly on Django’s development server. Could someone tell me what’s going on and how I can fix the problem?
Note: I put client_max_body_size 100M; to fix an Error 413 that emerged when I originally tried uploading the large file.
My droplet runs on Ubuntu 16.04, and utilizes Django, Gunicorn, and Nginx. I followed this tutorial to set it up: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Like it says, “Permission denied”. Fix your chmod/chown so nginx can access the file.
Hi @leebr1
You need to make sure that everything within /home/brian is owned by brian:brian and then the Gunicorn and Nginx should run with those permissions too.
If they run with the default www-data:www-data permissions, then everything that has to do with your website, has to be owned by that.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.