CentOS安装nginx+lua_nginx+GraphicsMagick生成实时缩略图

下载:
软件下载地址:
http://soft.ileiming.com/gm.tar.gz
安装

 代码如下 复制代码

tar -zxvf gm.tar.gz
tar -zxvf GraphicsMagick-1.3.12.tar.gz
cd GraphicsMagick-1.3.12
./configure –prefix=/usr/local/gm
make && make install

tar -zxvf LuaJIT-2.0.0-beta10.tar.gz
cd LuaJIT-2.0.0-beta10
make && make install PREFIX=/usr/local/lj2
ln -sf luajit-2.0.0-beta10 /usr/local/lj2/bin/luajit

unzip simpl-ngx_devel_kit-v0.2.19-0-g8dd0df5.zip

tar -zxvf  chaoslawful-lua-nginx-module-v0.9.2-61-ge4e085f.tar.gz

unzip agentzh-echo-nginx-module-v0.49-1-g84feae9.zip

tar -zxvf ngx_cache_purge-1.6.tar.gz

设置环境变量

 代码如下 复制代码
export LUAJIT_LIB=/usr/local/lj2/lib
export LUAJIT_INC=/usr/local/lj2/include/luajit-2.0
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
GM_HOME=/usr/local/GraphicsMagick-1.3.16;
PATH=$GM_HOME/bin:$PATH;
export PATH
export GM_HOME

使环境变量生效:source /etc/profile

 代码如下 复制代码
tar -zxvf nginx-1.2.1.tar.gz
cd nginx-1.2.1
./configure –prefix=/usr/local/nginx5 –user=www –group=www –with-http_stub_status_module –add-module=/root/gm/simpl-ngx_devel_kit-8dd0df5 –with-ld-opt=-Wl,-rpath,/usr/local/lj2/lib –add-module=/root/gm/ngx_cache_purge-1.6 –with-http_perl_module –add-module=/root/gm/chaoslawful-lua-nginx-module-e4e085f –add-module=/root/gm/agentzh-echo-nginx-module-84feae9 –with-pcre

如果报错,很可能是没有安装lua和lua-devel
直接yum安装即可:

 代码如下 复制代码
# yum install lua lua-devel

##########################################

nginx配置文件

 代码如下 复制代码

server {
        listen 80;
        server_name 192.168.1.199;
        root /usr/local/nginx5/html/test;
        index index.html index.htm index.php;

        location /image/ {
                set $image_root /usr/local/nginx5/html/test;
                set $file $image_root$uri;
                set $forward_url "";

                if (!-e $file) {
                rewrite_by_lua '
                        local originalUri = nil;
                        local area = nil;
                        local index = string.find(ngx.var.uri, "([0-9]+)x([0-9]+)");
                        local oUIndex = nil;
                        local fileExtName = nil;
                        local fileSuffix = nil;
                        if  index ~= nil then
                                originalUri = string.sub(ngx.var.uri, 0, index-2);
                                oUIndex = string.find(originalUri,"([.])");
                                fileExtName = string.sub(originalUri,oUIndex+1);
                                fileSuffix = string.sub(originalUri,0,oUIndex-1);
                                area = string.sub(ngx.var.uri, index);
                                index = string.find(area, "([.])");
                                if  index ~= nil then
                                        area = string.sub(area, 0, index-1);
                                end;
                          end;
                        if originalUri ~= nil then
                                local command = "/usr/local/gm/bin/gm convert " .. ngx.var.image_root..originalUri  .. " -thumbnail " .. area .. " -background gray -gravity center -extent " .. area .." ".. ngx.var.image_root..originalUri .."_" .. area .. "."..fileExtName;
                                os.execute("echo command "..command .."  >>/usr/local/nginx5/html/123.txt");

                                os.execute(command);
                                ngx.var.forward_url = fileSuffix.."_thumb."..fileExtName;

                        else
                                ngx.var.forward_url = ngx.var.uri;
                        end;
                   ';

                 }

        }

}

以上配置只是简单的生成缩略图的配置,通过nginx来控制lua还可以实现只生成固定大小的图片或是,还可以调用A文件夹的图片生成到B文件夹内等非常有用的功能

访问用yun_qi_img/1.jpg_200x200.jpg

时间: 2024-08-02 06:58:48

CentOS安装nginx+lua_nginx+GraphicsMagick生成实时缩略图的相关文章

CentOS安装Nginx

一.安装准备   首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib-devel 所以执行如下命令安装   [html] view plaincopy $   yum install gcc-c++   $   yum install pcre pcre-devel   $   yum install zlib zlib-devel   $   yum inst

CentOS 安装 Nginx服务器环境方法

#CentOS 安装 Nginx 服务器# 1.如果没有安装 GCC 开发工具请先安装:yum groupinstall -y "Development Tools" 2.下载新版本的 nginx:http://nginx.org/en/download.html, 下载到本地:wget http://nginx.org/download/nginx-1.4.3.tar.gz 3.解压源码包:tar zxvf nginx-1.4.3.tar.gz 4.进入解压出来的源码文件夹:cd n

centos安装nginx、mysql、php的方法(lnmp)

对于lnmp的安装,每个运维人员可能都进行过上百次.这里提供一个我认为最简单高效的安装方案. 1.升级yum到最新版本:  代码如下 复制代码 yum -y update 2.用yum对lnmp服务器依赖的组件进行安装:  代码如下 复制代码 LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-dev

Nginx配合php实现生成实时缩略图功能_nginx

在做自动静态化的时候,突然想到下面这个场景,也给出了解决方法.亲,真的很实用,耐心看下去. 当我从后台上传一个截图之后,480*800的截图之后,当时就没有压缩出320*480的小缩略图.好吧,服务器轮询一下,全部产生出320*480的图片. 那下一次呢,又有160*240的图片了,又轮询吗,费时费力,还不能马上就得到小图.这个时候,我们就要开始抱怨了,怎么要这么多种图片啊,设计师,你就不能老早就想好要哪些图片么? 其实,nginx是一个强大的反向代理服务器,通过它的rewrite模块,我们可以

centos安装nginx+php+mysql方法详解

系统:centos 5.9 64位 需要的软件:libiconv-1.14.tar.gz mysql-5.5.25a.tar.gz 1.安装前的准备 2.安装libiconv  代码如下 复制代码 1 ./configure --prefix=/usr/local/libiconv  2 make && make install 3.只安装mysql客户端  代码如下 复制代码 1 cmake . && make mysqlclient libmysql  2 make i

CentOS 7.2安装Nginx 1.10.2的详细教程_Linux

一.使用Yum安装(推荐) 使用Yum安装是推荐的方式,整体的流程非常的简单,也不容易出错,如果不需要什么特殊配置,建议使用Yum尽进行安装. 1.安装epel-release源并进行安装 yum install epel-release yum update yum install nginx 2.执行相关的应用操作 systemctl start nginx #启动 systemctl stop nginx #停止 systemctl restart nginx #重启 systemctl

centos系统编译安装nginx+php环境另加独立mysql教程

  前端(nginx+php)ip:192.168.10.8 后端(独立mysql)ip:192.168.10.5 软件版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch 1.先在后端安装mysql 在192.168.10.5上只安装mysql.方法可以去看centos编译安装nginx+php-fpm

CentOS 7下 yum方式安装Nginx

Nginx 是一个很强大的高性能Web和反向代理服务器,它具有众多非常优越的特性.诸如低开销,高并发,支持缓存,支持正反向代理,支持负载均衡,支持正则,支持rewrite等等不一而足.所以众多粉丝们也是不计其数.本文基于CentOS 7简要描述yum方式的安装部署,供大家参考. 如果是编译安装可以参考:Linux 6下安装编译安装Nginx 有关Nginx的常用配置可参考:Nginx 概述及日常管理 一.配置nginx yum源 演示环境 [root@centos7-router ~]# mor

CentOS 安装配置 Nginx

概述 以前觉得在CentOS上面安装配置 Nginx肯定麻烦,所以一直没有动.今天试了一下发现还挺简单的,只需要几步就OK. 安装 Nginx Nginx 官网给出了详细的安装教程,安装Nginx 总结了一些 CentOS 上面的安装步骤: 配置 yum 源: 需要在新建 /etc/yum.repos.d/nginx.repo文件,并且编辑文件内容为: [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/cento