设为首页 收藏本站
查看: 1231|回复: 0

[经验分享] nginx与lua的安装教程

[复制链接]

尚未签到

发表于 2018-11-16 09:40:16 | 显示全部楼层 |阅读模式

  •   准备安装文件

    •   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.gzlua-nginx-module
wget https://github.com/openresty/lua-nginx-module/archive/v0.9.13.tar.gz -O lua-nginx-module-v0.9.13.tar.gznginx
wget http://nginx.org/download/nginx-1.7.9.tar.gzlua
  本文采用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_soredis库
  下载
wget https://raw.githubusercontent.com/openresty/lua-resty-redis/master/lib/resty/redis.lua  无需编译,拷贝到文件夹中:
cp redis.lua /path/to/lua_sostruct 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_solua-zlib
  下载lua-zlib
git 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_somysql, bitop
  下载mysql.lua,mysql不需要编译,直接使用mysql.lua文件即可,不过会用到bit.so,所以要编译bit.so
wget 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;;';



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635651-1-1.html 上篇帖子: 4.Nginx配置进阶(四) 下篇帖子: nginx url自动加斜杠问题及301重定向
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表