nginx配置图片服务器

目录

一:访问流程

二:缓存服务器配置

三:上传图片直接上传到图片服务器

四:加快图片访问


一:访问流程

访问缓存服务器(上面安装nginx反向代理到图片服务器,对外提供服务)->图片服务器

二:缓存服务器配置

location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ {

                 proxy_pass http://img.cn;

                 expires 6h;

                 break;

         }

访问图片跳转到图片服务器http://img.cn

(注意:http://img.cn 必须是nginx服务器能够访问的地址)

可以设置匹配路径images:

 location ^~ /images/ {

                 proxy_pass http://img.cn;

                 expires 6h;

                 break;

         }

三:上传图片直接上传到图片服务器

图片上传有php代码程序,直接处理图片的上传和下载。

如果要获取不同尺寸的原图的缩略图,可以访问服务器动态生成图片的缩略图

图片url示例:http://img.cn/20120802/(200x300)324234234.jpg

规范:http://img.cn/20120802/(宽x高)324234234.jpg    固定宽高

规范:http://img.cn20120802/(宽x)324234234.jpg     宽固定 高不限制

规范:http://img.cn/20120802/(x高)324234234.jpg    高固定 宽不限制

图片服务器上有动态php程序生成缩略图

如 handler.php?img=/20120802/324234234.jpg

用url 重写 把图片访问, 绑定到 动态文件上面 生成图片的缩略图

四:加快图片访问

(一)设置压缩

开启gzip和设置压缩类型

测试下:curl -I -H  "Accept-Encoding:gzip,deflate" "http://img.cn/images/201604/index_img/8529_G_1460346831951.jpg"

(二)图片设置缓存

http层级:

        proxy_connect_timeout 10;

        proxy_read_timeout 180;

        proxy_send_timeout 5;

        proxy_buffer_size 16k;

        proxy_buffers 4 64k;

        proxy_busy_buffers_size 128k;   #这个要比proxy_buffers小

        proxy_temp_file_write_size 256k;

        proxy_temp_path /tmp/temp_dir;

        proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;

server层级:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires       15d;
}

location ~ .*\.(js|css)?$
{
expires       1d;

}

nginx配置图片服务器_第1张图片

你可能感兴趣的:(nginx,nginx,服务器,运维)