|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你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~"/([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中写进以下代码:- 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好,其实只要你认真学习无论什么版本都挺好的。 |
|