设置nginx作为apache的代理; 一切正常,但nginx不服务媒体

我已经设置了这样的nginx代理请求和发送Django请求到Apache和服务媒体本身。

以下文件我的设置:

Nginxconfiguration: /etc/nginx/nginx.conf

 user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; include /etc/nginx/sites-enabled/*; } ===== 

ngnix代理/etc/nginx/proxy.conf

 ============ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; =========== 

Nginx服务器文件:/etc/nginx/sites-enabled/some-name.txt

 ========== server { listen 208.109.252.110:80; server_name netconf; autoindex on; access_log /home/site/server_logs/nginx_access.log; error_log /home/site/server_logs/nginx_error.log; location / { proxy_pass http://127.0.0.1:80/; include /etc/nginx/proxy.conf; } location /site_media/ { root /home/site/folder/static; } } ========== 

Nginx非常好的代理请求,并传递给Apache,所需的请求,但不服务的媒体。 在最后一个服务器文件中,根本不提供site_media位置。 🙁

一切对我来说都是完美的。 哪里不对?

提前致谢。

添加这样的东西:

 location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf)$ { root /home/site/folder/static; expires 7d; 

然后您将拥有从不同地点交付的扩展名的文件。 你可以给不同的过期date和压缩等。

完整的文件将如下所示:

 server { listen 208.109.252.110:80; server_name netconf; autoindex on; access_log /home/site/server_logs/nginx_access.log; error_log /home/site/server_logs/nginx_error.log; location / { proxy_pass http://127.0.0.1:80/; include /etc/nginx/proxy.conf; } location location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf)$ { root /home/site/folder/static; expires 7d; } } 

您可能还想为文件添加更多选项。 查看以下链接,了解dynamic和静态内容以及一些总体安全问题的一些特殊选项。

  • Nginx的“如何” – 快速和安全的Web服务器
  • 前20名Nginx WebServer最佳安全实践