您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > nginx图片缓存服务器配置文档
Nginx图片缓存服务器配置Nginx是目前非常流行的web服务器,它起源于俄罗斯。它具有处理速度快,并发量大,占用资源极低等优点,尤其对于静态资源的处理更佳,有测试证明是apache的30倍。现在已经广泛的应用于多家门户网站、中大型网站中,作为反向代理、图片缓存服务器等。本例是结合张宴的blog(),做的变动。主站是IIS7.5(192.168.36.70),用的是.net3.5+sql2005,用于处理aspx,ashx等动态网页程序,而网站的图片服务器为nginx(centos5.6,IP:192.168.33.243).1.网站结构主站(iis7.5)的网页结构为:注意:myimages目录,是nginx图片服务器的主目录,放到这里作为一个虚拟目录的原因,是在centos上做了一个samba,让windows共享到这个目录,方便主站.net程序对图片上传和管理。更好的解决方案是,把所有的资源放到存储上。Nginx图片服务器的目录结构为:注意:images是nginx服务器的主目录,images1和images2是图片服务器的分支目录,用于存放图片,更专业的做法,是用当前月份命名目录,更加方便管理图片。proxy_cache_dir和proxy_temp_dir分别是作为nginx图片服务器的缓存目录和临时目录。用户只要访问一次图片,nginx就会把图片缓存到proxy_cache_dir目录底下。2.nginx图片服务器配置1.centos5.6上安装nginx.安装步骤如下:wget://labs.frickle.com/files/ngx_cache_purge-1.0.tar.gztarzxvfngx_cache_purge-1.0.tar.gzwget===../ngx_cache_purge-1.0--prefix=/usr/local/webserver/nginx--with-http_stub_status_module--with-http_ssl_modulemake&&makeinstallcd../注意:要建立的图片服务器访问地址为:192.168.33.243:8080,nginx缓存服务器为:192.168.33.243,故我们需要在Nginx上配置两个web服务器,让后一个缓存前一个,iis主站的程序直接调用缓存服务器的图片,绕过了真实的图片服务器。配置文件如下:user{useepoll;worker_connections65535;}http{includemime.types;default_typeapplication/octet-stream;charsetutf-8;server_names_hash_bucket_size128;client_header_buffer_size32k;large_client_header_buffers432k;client_max_body_size300m;sendfileon;tcp_nopushon;keepalive_timeout60;tcp_nodelayon;client_body_buffer_size512k;proxy_connect_timeout5;proxy_read_timeout60;proxy_send_timeout5;proxy_buffer_size16k;proxy_buffers464k;proxy_busy_buffers_size128k;proxy_temp_file_write_size128k;gzipon;gzip_min_length1k;gzip_buffers416k;gzip_http_version1.1;gzip_comp_level2;gzip_typestext/plainapplication/x-javascripttext/cssapplication/xml;gzip_varyon;#注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区proxy_temp_path/data0/proxy_temp_dir;#设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。proxy_cache_path/data0/proxy_cache_dirlevels=1:2keys_zone=cache_one:200minactive=1dmax_size=30g;#upstreambackend_server{#server192.168.8.43:80weight=1max_fails=2fail_timeout=30s;#server192.168.8.44:80weight=1max_fails=2fail_timeout=30s;#server192.168.8.45:80weight=1max_fails=2fail_timeout=30s;#}server//此处为缓存服务器{listen80;server_name192.168.33.243;location/{proxy_cachecache_one;#对不同的HTTP状态码设置不同的缓存时间proxy_cache_valid20030412h;#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内proxy_cache_key$host$uri$is_args$args;proxy_set_headerHost$host;proxy_set_headerX-Forwarded-For$remote_addr;proxy_pass:8080;//此处跳转到真实的图片服务器log_formatcache'***$time_local''$upstream_cache_status''Cache-Control:$upstream_http_cache_control''Expires:$upstream_http_expires''$request($status)''$http_user_agent';//定义日志格式(此日志格式可以显示hitmiss等,显示缓存是否被击中,老版本默认可以,但是新版本,发现需要加上这个)access_log/var/log/nginx/cache.logcache;//使用这个日志格式expires1d;}#用于清除缓存,假设一个URL为,通过访问就可以清除该URL的缓存。location~/purge(/.*){#设置只允许指定的IP或IP段才可以清除URL缓存。allow127.0.0.1;allow192.168.0.0/16;denyall;proxy_cache_purgecache_one$host$1$is_args$args;}#扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。location~.*\.(php|jsp|cgi)?${proxy_set_headerHost$host;proxy_set_headerX-Forwarded-For$remote_addr;proxy_pass}access_logoff;}server//真实的图片服务器{Listen8080;Server_name192.168.33.243;Location/{root/images/;}access_log/***/***combined;//访问日志,一般都off掉。}}
本文标题:nginx图片缓存服务器配置文档
链接地址:https://www.777doc.com/doc-1579870 .html