仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 585|回复: 8
打印 上一主题 下一主题

[其他Linux] linux教程之Fastdfs与nginx举行紧缩图片比率

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 15:39:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你linux中的重要内容备份,因为,在你学习的过程中,很可能将系统搞废(eg:源混乱等);
在此先把后面本人做的谁人功效在此分享下,是一个仿照淘宝的,但愿年夜神们有甚么设法能够不惜见教:
本人是经由过程后面的参考设置lua与nginx的分离利用,使用剧本言语lua的壮大特征和nginx的特征来完成这个功效,在nginx.conf的设置文件中到场以下代码:
  1. server{listen22222;server_namelocalhost;#server_namesomenamealiasanother.alias;location/images/{alias/root/images;set$image_root/root;set$file$image_root$uri;content_by_luangx.header.content_type="text/plain";ngx.say(ngx.var.file);;}location/lua{set$test"hello,world.";content_by_luangx.header.content_type="text/plain";ngx.say(ngx.var.test);;}location/group1/M00{alias/usr/local/servers/data/fdfs/data;set$image_root"/usr/local/servers/data/fdfs/data";#alias/root/images;#set$image_root"/root/images";if($uri~"/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/(.*)"){set$image_dir"$image_root/$3/$4";set$image_name"$5";set$file"$image_dir/$image_name";}#content_by_lua#ngx.header.content_type="text/plain";#ngx.say(ngx.var.image_dir);#ngx.say(ngx.var.image_name);#ngx.say(ngx.var.file);#;if(!-f$file){#封闭lua代码缓存,便利调试lua剧本#lua_code_cacheoff;content_by_lua_file"/usr/local/servers/lua/convert.lua";}ngx_fastdfs_module;}#location~/group[1-3]/M00{#root/usr/local/servers/data/fdfs/data;#/fdfs/storage/data;#ngx_fastdfs_module;#}}
复制代码
这内里使用了nginx的正则表达式,正则表达式是相称刁悍的,能够失掉你必要会见的uri的值。
然后再convert.lua中写进以下代码:
  1. localarea=nillocaloriginalUri=ngx.var.uri;localoriginalFile=ngx.var.file;localindex=string.find(ngx.var.uri,"([0-9]+)x([0-9]+)");ifindexthenoriginalUri=string.sub(ngx.var.uri,0,index-2);area=string.sub(ngx.var.uri,index);index1=string.find(area,"([.])");area1=string.sub(area,0,index1-1);localindex2=string.find(originalFile,"([0-9]+)x([0-9]+)");originalFile1=string.sub(originalFile,0,index2-2)endlocalimage_sizes={"80x80","800x600","40x40","60x60"};functiontable.contains(table,element)for_,valueinpairs(table)doifvalue==elementthenreturntrueendendreturnfalseendiftable.contains(image_sizes,area1)thenlocalcommand="/usr/bin/gmconvert"..originalFile1.."-thumbnail"..area1.."-backgroundgray-gravitycenter-extent"..area1..""..ngx.var.file;os.execute(command);end;
复制代码
~差未几如许就能够完成功效了,经由过程会见能够完成比率紧缩,由于在下班工夫临时就这么写下了,今朝的一个事情另有良多功效必要完成,若有看不懂的能够留言,年夜神们能够指教,感谢!
参考:http://www.v2ex.com/t/113845
http://blog.sina.com.cn/openresty
http://write.blog.csdn.net/postedit
https://github.com/azurewang/lua-resty-fastdfs/blob/master/lib/resty/fastdfs/storage.lua
http://wiki.nginx.org/HttpLuaModule

经常看到有人问用什么版本的linux好,其实只要你认真学习无论什么版本都挺好的。
老尸 该用户已被删除
沙发
发表于 2015-1-16 20:09:43 | 只看该作者

linux教程之Fastdfs与nginx举行紧缩图片比率

要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-18 22:01:35 | 只看该作者
Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
飘灵儿 该用户已被删除
地板
发表于 2015-2-5 15:22:52 | 只看该作者
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
透明 该用户已被删除
5#
发表于 2015-2-12 18:20:06 | 只看该作者
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。
只想知道 该用户已被删除
6#
发表于 2015-3-3 06:50:25 | 只看该作者
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
7#
发表于 2015-3-11 10:07:51 | 只看该作者
直到学习Linux这门课以后,我才知道,原来我错了。?
再现理想 该用户已被删除
8#
发表于 2015-3-18 10:45:55 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-25 21:51:15 | 只看该作者
选择一些适于初学者的Linux社区。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 00:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表