nginx配置图片服务器

2024-01-07 21:20:18

目录

一:访问流程

二:缓存服务器配置

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

四:加快图片访问


一:访问流程

访问缓存服务器(上面安装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;

}

文章来源:https://blog.csdn.net/qinshi501/article/details/135391603
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。