服务器 显示图片缩略图,Nginx配置图片服务器--动态缩略图

安装Nginxsudo apt-get install nginx

配置文件

配置文件位置 /etc/nginx/sites-available/default

配置时,容易出错,所以最好分两步:

第一步:server {

listen 9999;

server_name localhost;

location /imgs/ {

autoindex on;

root /home/pi/; # 配置root目录,图片文件放在 /home/pi/imgs/ 里面

}

}

重启Nginx sudo service nginx restart

访问:http://localhost:9999 出现了Nginx界面,说明服务正常启动了。

访问:http://localhost:9999/imgs/111.jpg 如果出现了文件夹下的111.jpg图片,那么初步配置就完成了。

第二步,动态缩略图:server {

listen 9999;

server_name localhost;

location ~ /imgs/(.+)\.(jpg|gif|png|ioc|jpeg)_(\d+)_(\d+)$ { # 解释1

autoindex on;

set $w $3; # 解释2

set $h $4;

rewrite /imgs/(.+)\.(jpg|gif|png|ioc|jpeg)_(\d+)_(\d+)$ /imgs/$1.$2 break; # 解释3

image_filter resize $w $h; # 解释4

image_filter_buffer 10M; # 解释5

root /home/pi/;

}

}

重启Nginx sudo service nginx restart

测试效果:

访问:http://localhost:9999/imgs/111.jpg 出现原图。

访问:http://localhost:9999/imgs/111.jpg_200_200 出现等比缩放图片。

解释location ~ /imgs/(.+)\.(jpg|gif|png|ioc|jpeg)_(\d+)_(\d+)$location 后面跟的 ~ 表示正则表达式匹配

(.+)\.(jpg|gif|png|ioc|jpeg)_(\d+)_(\d+) 图片名称的正则表达式

这个正则会匹配 /imgs/IMG1111.jpg_200_200这样的地址set $w $3;设置变量。

$3 表示之前正则中第三个括号中的值

set $w $3; 表示将 正则中提取的值 赋值给变量 w 。rewrite /imgs/(.+)\.(jpg|gif|png|ioc|jpeg)_(\d+)_(\d+)$ /imgs/$1.$2 break;Nginx URL重写(rewrite)

rewrite的重要功能是实现RUL地址的重定向。

语法: rewrite [flag]

rewrite:关键字

: 正则,兼容正则表达式语句进行规则匹配

: 替代内容,将正则匹配的内容替换成replacement

[flag] : flag标记,rewrite支持的flag标记

flag标记说明:last :本条规则匹配完成后,继续向下匹配新的location URI规则

break :本条规则匹配完成即终止,不再匹配后面的任何规则

redirect :返回302临时重定向,浏览器地址会显示跳转后的URL地址

permanent :返回301永久重定向,浏览器地址栏会显示跳转后的URL地址image_filter resize $w $h;等比缩放图像。image_filter_buffer 10M;设置读取图像缓冲的最大大小,超过则415错误。

话外

Nginx中的判断符号解释= 和!=比较一个变量和字符串

~ 和!~与指定正则表达式模式匹配

-f和!-f判断指定的路径是否为存在且为文件

-d和 !-d判断指定的路径是否为存在且为目录

-e和 !-e判断指定的路径是否存在,文件或目录均可

-x和 !-x判断指定路径的文件是否存在且可执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值