nginx与lua的安装教程
2015-07-16 15:56
721 查看
准备安装文件
ngx_devel_kit
lua-nginx-module
nginx
lua
安装LuaJIT
安装nginx
安装lua常用的库
redis库
struct pack
cjson
lua-zlib
mysql, bitop
把lua_so的路径告诉nginx
ngx_devel_kit
lua-nginx-module
nginx
lua
安装LuaJIT
安装nginx
安装lua常用的库
redis库
struct pack
cjson
lua-zlib
mysql, bitop
把lua_so的路径告诉nginx
准备安装文件
ngx_devel_kit
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz -O ngx_devel_kit-v0.2.19.tar.gz
lua-nginx-module
wget https://github.com/openresty/lua-nginx-module/archive/v0.9.13.tar.gz -O lua-nginx-module-v0.9.13.tar.gz
nginx
wget http://nginx.org/download/nginx-1.7.9.tar.gz
lua
本文采用LuaJIT。wget http://luajit.org/download/LuaJIT-2.0.3.tar.gz
安装LuaJIT
tar zxvf LuaJIT-2.0.3.tar.gz cd LuaJIT-2.0.3/make PREFIX=/path/to/luajit-2.0.3make install PREFIX=/path/to/luajit-2.0.3两次的PREFIX的值必须一致,或都不使用,即默认安装到/usr/local下。建立软链接,以便后面nginx启动时可以找到所需文件:
sudo ln -s /path/to/luajit-2.0.3/lib/libluajit-5.1.so.2 /usr/lib/libluajit-5.1.so.2
安装nginx
编译前,先安装需要用到的基础模块,我用的是ubuntu12.04 server LTS版,所以用以下命令安装:sudo apt-get install libpcre3-dev libssl-dev告诉nginx编译时到哪里找到luajit
export LUAJIT_LIB=/path/to/luajit-2.0.3/libexport LUAJIT_INC=/path/to/luajit-2.0.3/include/luajit-2.0解压缩两个nginx编译时需要用到的模块源代码
tar zxvf ngx_devel_kit-v0.2.19.tar.gz tar zxvf lua-nginx-module-v0.9.13.tar.gz编译安装nginx
./configure --prefix=/path/to/nginx --add-module=/path/to/ngx_devel_kit-0.2.19 --add-module=/path/to/lua-nginx-module-0.9.13 --with-http_ssl_modulemake -j2make install
安装lua常用的库
lua一些常用的库,还是需要安装上的,这样方便以后随时使用,库的存放位置,这里在安装好后的nginx目录下新建一个lua_so目录:
cd /path/to/nginxmkdir lua_so
redis库
下载wget https://raw.githubusercontent.com/openresty/lua-resty-redis/master/lib/resty/redis.lua无需编译,拷贝到文件夹中:
cp redis.lua /path/to/lua_so
struct pack
下载wget http://www.inf.puc-rio.br/~roberto/struct/struct-0.2.tar.gzmkdir struct-0.2tar zxvf struct-0.2.tar.gz -C struct-0.2cd struct-0.2/修改makefile中的
LUADIR变量如下:
LUADIR = /path/to/luajit-2.0.3/include/luajit-2.0/编译,并移到文件夹:
makecp struct.so ~/env/nginx/lua_so/
cjson
下载cjson,并解压wget http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gztar zxf lua-cjson-2.1.0.tar.gzcd lua-cjson-2.1.0修改
MakeFile文件中关于
LUA_INCLUDE_DIR的设置,如下:
#LUA_INCLUDE_DIR = $(PREFIX)/includeLUA_INCLUDE_DIR = /home/work/env/lua/default/include/luajit-2.0编译,并移动到上面所说的
lua_so文件夹中:
makecp cjson.so /path/to/lua_so
lua-zlib
下载lua-zlibgit clone https://github.com/brimworks/lua-zlib.gitcd lua-zlib建立一个liblua.so的软链接,不然编译不成功:
sudo ln -s /path/to/luajit-2.0.3/lib/libluajit-5.1.so /usr/lib/liblua.so修改
Makefile文件,使以下几个变量值如下:
LUAPATH ?= /path/to/luajit-2.0.3LUACPATH ?= /path/to/luajit-2.0.3/libINCDIR ?= -I/path/to/luajit-2.0.3/include/luajit-2.0LIBDIR ?= -L/usr/lib -L/path/to/luajit-2.0.3/lib编译,并拷贝至
lua_so文件夹:
make linuxcp zlib.so /path/to/lua_so
mysql, bitop
下载mysql.lua,mysql不需要编译,直接使用mysql.lua文件即可,不过会用到bit.so,所以要编译bit.sowget https://raw.githubusercontent.com/openresty/lua-resty-mysql/master/lib/resty/mysql.luacp mysql.lua /path/to/lua_so下载bitop
wget http://bitop.luajit.org/download/LuaBitOp-1.0.2.tar.gztar zxvf LuaBitOp-1.0.2.tar.gzcd LuaBitOp-1.0.2修改LuaBitOp中的Makefile文件前面中的INCLUDES变量如下:
INCLUDES= -I/path/to/luajit-2.0.3/include/luajit-2.0编译,并拷贝到
lua_so文件夹:
makecp bit.so /path/to/lua_so
把lua_so的路径告诉nginx
在nginx.conf的http模块下添加以下语句:
# 查找 *.lualua_package_path '/path/to/lua_so/?.lua;;'; # # 查找 *.solua_package_cpath '/path/to/lua_so/?.so;;';
相关文章推荐
- 从源码安装Mysql/Percona 5.5
- nginx代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 解决vc中unable to connect to the MKS:Internal error问题
- 网站502与504错误分析
- 杰奇一些安装详细说明文件,比官方更细
- 无线网卡安装DIY
- 网卡安装常见问题精解
- DB2数据库的安装
- CentOS下DB2数据库安装过程详解
- ghost安装系统软件硬盘安装器 安装ghost图文教程
- CentOS 6.3下编译安装Ruby 2.0笔记
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 详解Lua中的表的概念及其相关操作方法
- FREEBSD安装POSTGRESQL笔记
- Lua编程示例(二):面向对象、metatable对表进行扩展