#user nobody;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http{
proxy_temp_path /usr/local/proxy_temp;
proxy_cache_path /usr/local/proxy_cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g;
upstream datanodes {
server datenode_ip:50075;
}
server {
listen 80;
location /img/ {
rewrite img(.*) http://nginx_ip/streamFile$1 permanent;
}
location /streamFile {
expires max;
proxy_cache cache_one;
proxy_cache_valid 200 304 1h;
proxy_cache_key $host$uri$is_args$args;
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;
proxy_set_header Accept-Encoding 'gzip';
client_max_body_size 10m;
client_body_buffer_size 256k;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 2048k;
proxy_buffers 8 2048k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
if ( !-e $request_filename) {
proxy_pass http://datanodes;
}
}
}
}