linux教程之Fastdfs与nginx举行紧缩图片比率
在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你linux中的重要内容备份,因为,在你学习的过程中,很可能将系统搞废(eg:源混乱等);在此先把后面本人做的谁人功效在此分享下,是一个仿照淘宝的,但愿年夜神们有甚么设法能够不惜见教:
本人是经由过程后面的参考设置lua与nginx的分离利用,使用剧本言语lua的壮大特征和nginx的特征来完成这个功效,在nginx.conf的设置文件中到场以下代码:
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~"/(+)/(+)/(+)/(+)/(.*)"){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/M00{#root/usr/local/servers/data/fdfs/data;#/fdfs/storage/data;#ngx_fastdfs_module;#}}
这内里使用了nginx的正则表达式,正则表达式是相称刁悍的,能够失掉你必要会见的uri的值。
然后再convert.lua中写进以下代码:
localarea=nillocaloriginalUri=ngx.var.uri;localoriginalFile=ngx.var.file;localindex=string.find(ngx.var.uri,"(+)x(+)");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,"(+)x(+)");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好,其实只要你认真学习无论什么版本都挺好的。
linux教程之Fastdfs与nginx举行紧缩图片比率
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。 Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。 写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。 直到学习Linux这门课以后,我才知道,原来我错了。? 在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。 选择一些适于初学者的Linux社区。
页:
[1]