Tengine+Lua插件编译安装

由来

Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。其中模块化设计是Nginx的一大卖点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译。
所以淘宝对Nginx做了二次开发,也就是Tengine。 Tengine 支持官方所有的 HTTP 模块动态加载而不必重新编译 Nginx,除非是第三方模块才需要重新编译。因此,在生产环境中,推荐用淘宝开源的 Tengine。

简介

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

安装必须类库

yum -y install gcc
yum -y install gcc-c+
yum -y install pcre-devel
yum -y install openssl openssl-devel

1、安装lua插件

需要LuaJIT-2.0.4.tar.gz,ngx_devel_kit,lua-nginx-module

1.1、载安装LuaJIT-2.0.4.tar.gz

wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz

tar xzvf LuaJIT-2.0.4.tar.gz

cd LuaJIT-2.0.4

make install PREFIX=/usr/local/luajit

配置环境变量

export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0

1.2、下载解压ngx_devel_kit

wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz

tar -xzvf v0.3.0.tar.gz

1.3、下载解压lua-nginx-module

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.8.tar.gz

tar -xzvf v0.10.8.tar.gz

2、安装 tengine

2.1、下载解压Tengine

http://tengine.taobao.org/download/tengine-2.2.3.tar.gz

tar -xvf tengine-2.2.3.tar.gz
cd tengine-2.2.3

2.2、编译、安装

./configure --add-module=../lua-nginx-module-0.10.8 --add-module=../ngx_devel_kit-0.3.0 --with-ld-opt="-Wl,-rpath,${LUAJIT_LIB}"
make
sudo make install

2.3、验证

cd /usr/local/nginx/conf/

vi nginx.conf

#lua指令方式
#在server 中添加一个localtion

location /hello {
            default_type 'text/plain';
            content_by_lua 'ngx.say("hello, lua")';
        }

#lua文件方式
#在server 中添加一个localtion

location /lua {
    default_type 'text/html';
    content_by_lua_file conf/lua/test.lua; #相对于nginx安装目录
}

#test.lua文件内容

ngx.say("hello world");

启动nginx

./nginx

访问:

http://127.0.0.1/hello

显示:hello, lua

http://127.0.0.1/lua

显示:hello world
成功

Nginx常用命令

nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx
nginx -t   #测试配置是否有语法错误

nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

-?,-h           : 打开帮助信息
-v              : 显示版本信息并退出
-V              : 显示版本和配置选项信息,然后退出
-t              : 检测配置文件是否有语法错误,然后退出
-q              : 在检测配置文件期间屏蔽非错误信息
-s signal       : 给一个 nginx 主进程发送信号:stop(停止), quit(退出), reopen(重启), reload(重新加载配置文件)
-p prefix       : 设置前缀路径(默认是:/usr/local/Cellar/nginx/1.2.6/)
-c filename     : 设置配置文件(默认是:/usr/local/etc/nginx/nginx.conf)
-g directives   : 设置配置文件外的全局指令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值