tengine-2.1.0 + GraphicsMagick-1.3.20

export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0/
./configure --prefix=/usr/local/tengine-2.1.0 --dso-path=/usr/local/tengine-2.1.0/modules --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_concat_module --with-http_lua_module  --http-proxy-temp-path=/var/tmp/tengine-2.1.0/proxy_temp --http-fastcgi-temp-path=/var/tmp/tengine-2.1.0/fastcgi_temp --http-uwsgi-temp-path=/var/tmp/tengine-2.1.0/uwsgi_temp --http-scgi-temp-path=/var/tmp/tengine-2.1.0/cgi_temp --http-client-body-temp-path=/var/tmp/tengine-2.1.0/client_body_temp --http-log-path=/var/log/tengine-2.1.0/access.log --error-log-path=/var/log/tengine-2.1.0/error.log --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB"

ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

742  yum install freetype
  743  yum install freetype-devel
  744  ./configure --prefix=/usr/local/GraphicsMagick-1.3.20 --enable-shared
  745  make
  746  make install

location ~* ^(.+\.(jpg|jpeg|gif|png))_(\d+)_(\d+)\.(jpg|jpeg|gif|png)$ {

root /data1/wwwroot/img.yuanfenba.net/;
                if (!-f $request_filename) {

#content_type ‘text/plain‘;
                        #content_by_lua ‘ngx.say("hello, lua")‘;
                        #add_header X-Powered-By ‘Lua GraphicsMagick‘;    # 此 HTTP Header 无实际意义,用于测试
                        #add_header file-path $request_filename;    # 此 HTTP Header 无实际意义,用于测试
                        #lua_code_cache off; # 在编写外部 Lua 脚本时,设置为 off Nginx 不会缓存 Lua,方便调试
                        set $request_filepath $document_root$1;
                        set $big_pic_url $1;
                        set $width $3;
                        set $height $4;
                        set $ext $5;
                        content_by_lua_file /document_root/ImageResizer.lua;
                }
        }

ImageResizer.lua

#!/usr/bin/env lua

function file_exists(name)
        local f=io.open(name,"r");
        if f~=nil then io.close(f) return true else return false end;
end

if not file_exists("/www/img.yuanfenba.net".. ngx.var.big_pic_url) then
command = string.format("wget -m -P /www/ http://img.yuanfenba.net/"..ngx.var.big_pic_url);
os.execute(command);
--      ngx.say(command)
end

if ngx.var.width == "540" then chuli = "crop" else chuli = "resize" end

local command = "/usr/local/GraphicsMagick-1.3.20/bin/gm convert " .. ngx.var.request_filepath .. " -" ..chuli.." " .. ngx.var.width .. "x" .. ngx.var.height .. "! +profile \"*\" " .. ngx.var.request_filepath .. "_" .. ngx.var.width .. "_" .. ngx.var.height .. "." .. ngx.var.ext;
--ngx.say(command);
os.execute(command);
return ngx.redirect(ngx.var.request_uri, ngx.HTTP_MOVED_TEMPORARILY)

时间: 2024-10-07 07:09:58

tengine-2.1.0 + GraphicsMagick-1.3.20的相关文章

Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一)

Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一) 题记: 我们在使用SolrCloud中会经常发现会有备份的shard出现状态Recoverying,这就表明SolrCloud的数据存在着不一致性,需要进行Recovery,这个时候的SolrCloud建索引是不会写入索引文件中的(每个shard接受到update后写入自己的ulog中).关于Recovery的内容包含三篇,本文是第一篇介绍Recovery的原因以及总体流程. 1. Recovery的起因 Rec

Install MariaDB Galera Cluster 10.0.20

安装环境: OS:Centos 6.6 [[email protected] ~]# uname -a Linux heartbeat1 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 数据库软件:MariaDB Galera Cluster 10.0.20 主机配置: Heartbeat1 10.0.0.7 Heartbeat2 10.0.0.8 Heartbeat

erlang 20.0版本编译安装

1.基础软件包安装 系统版本[[email protected] erlang]# cat /etc/redhat-release CentOS release 6.6 (Final) yum groupinstall "Base" "Development Tools" "Perl Support" 装不上报错 多装两遍 一定要装上,安装完组包从新启动下虚拟机 yum -y install make gcc gcc-c++ kernel-dev

代理服务器Tengine的研究与测试

代理服务器Tengine的研究与测试 Tengine介绍 首先要知道什么Nginx Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站

tengine rpm制作

最近又在centos6.4下折腾tengine了,刚好不久前看了rpm包的制作方法,所以又有了搞个rpm包的想法. 1 安装centos的开发环境集成包及tengine的依赖包 1 yum groupinstall "Development Tools" 2 yum install pcre-devel 3 yum install openssl openssl-devel 2 创建tengine rpm包,用非root用户test 1 su - test 2 mkdir -p ~/r

nginx 平滑升级tengine

wget  http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本 tar zxvf tengine-1.5.1.tar.gz //解压到当前目录 cd tengine-1.5.1 //进入到目录 ./configure //执行安装脚本 make //编译安装 mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old //备份ngin

Nginx+lua_Nginx+GraphicsMagick来实现实时缩略图

1.安装GraphicsMagick cd /usr/local/src wget http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.20/GraphicsMagick-1.3.20.tar.gz/download tar -zxvf GraphicsMagick-1.3.20.tar.gz cd GraphicsMagick-1.3.20 ./configure --prefix=/usr/local

AMH4.2 虚拟主机面板Tengine版本

本人将原版Nginx更换成淘宝的Tengine 2.1.0 并且更换安装源,以保证面板正常安装 AMH4.2 修改版安装 ———————AMH为独立的一套LNMP/Nginx虚拟主机面板 安装请使用纯净系统.安装:使用root账号登录Linux服务器, Tengine版本安装脚本: wget http://down.xuanlove.net/sh/amhtaobao.sh; chmod 775 amhtaobao.sh; ./amhtaobao.sh 2>&1 | tee amhtaobao

【技术干货】听阿里云CDN安防技术专家金九讲tengine+lua开发

一.介绍 二.安装 三.运行 四.开发 1.介绍 Tengine:轻量级.高性能.高并发.配置化.模块化.可扩展.可移植的Web和反向代理 服务器,Tengine是nginx超集,但做了很多优化,包含了很多比较有用的模块,比如直接包含了lua.proc等很有用的模块. Lua:一个很轻量级的 脚本,也号称性能最高的 脚本.代码总共不到600k,32个C文件,23个头文件: [email protected] ~/lua-5.1.5/src# du -sh ./ 572K    ./ [email

Tengine/nginx里的那些时间

老早用nginx时就零零散散的接触这些时间,一直没静下心系统的梳理一遍,其实理解了这些时间的作用和设置,对配置tengine(nginx)线上业务的优化是有不可小觑的的作用,对nginx的工作流程也会有更深的理解,目前我线上配置是服务http小文件(非视频和下载类)的,具体参数配置如下,因为没有看过nginx的源码,纯从运维角度理解: client_header_timeout 10s; client_body_timeout 10s; proxy_connect_timeout 10s; pr