我试图设置nginx来提供静态文件。 基本上我需要的是http://mydomain.com/site_media/指向/ var / django / myproject / site_media。
我已经尝试了这么多的configuration,当我testing它时,我总是得到一个静态文件的404错误。
任何人都可以告诉我我做错了什么,或者我应该如何设置?
这是我当前的nginxconfiguration文件。
用户www-data; worker_processes 1; #error_log /usr/local/nginx/logs/error.log; #pid /usr/local/nginx/logs/nginx.pid; 事件{ worker_connections 1024; 使用epoll; } http { #在这里列举所有的龙卷风服务器 上游前端{ 服务器127.0.0.1:8000; 服务器127.0.0.1:8001; 服务器127.0.0.1:8002; 服务器127.0.0.1:8003; } 包括mime.types; default_type application / octet-stream; #access_log /usr/local/nginx/logs/access.log; keepalive_timeout 65; proxy_read_timeout 200; 发送文件; tcp_nopush; tcp_nodelay; gzip on; gzip_min_length 1000; gzip_proxied任何; gzip_types文本/纯文本/ html文本/ css文本/ xml 应用程序/ x-javascript应用程序/ xml application / atom + xml text / javascript; proxy_next_upstream错误; 服务器{ 听80; #允许file upload client_max_body_size 50M; 位置^〜/ site_media / { root / var / django / myproject / site_media; if($ query_string){ 到期最大; } } location = /favicon.ico { 重写(。*)/site_media/favicon.ico; } location = /robots.txt { 重写(。*)/site_media/robots.txt; } 位置 / { proxy_pass_header服务器; proxy_set_header主机$ http_host; proxy_redirectclosures; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Scheme $ scheme; proxy_pass http:// frontends; } } #include / usr / local / nginx / sites-enabled / *; }
谢谢,
卡塔
我查看了nginx错误日志,发现它试图从/ var / django / myproject / site_media / site_media服务媒体而不是/ var / django / myproject / site_media – 很奇怪。
我改变了根/ var / django / myproject / site_media; 到根/ var / django / myproject; 现在它工作。
🙂
如果你的root /blah;
没有包含斜线root /blah;
指令它将追加位置。 如果你确实包含了尾部的斜杠,它不会。