nginx静态编译lua[jit]
来源:互联网 发布:秋骊剑淘宝 编辑:程序博客网 时间:2024/04/27 22:24
原淘宝工程师清无(王晓哲)和春来(章亦春)开发的lua nginx模块非常强大。现在网上的安装方法主要都是动态编译lua的,但是总有种种原因动态编译有诸多不便,这时候就需要将luajit静态编译进nginx里
第一种方法就是直接使用 openresty,并利用openresty提供的方式静态编译luajit
安装nginx nginx_lua_module luajit nginx_dev_kit步骤略
第二种方法就是在nginx configure执行过后,修改生成的objs/Makefile文件
在第一个target “objs/nginx: objs/src/core/nginx.o \”下面,添加luajit的静态文件
把
-Wl,-E -lpthread -lcrypt -L /xxx/xxx/lua/libs -lluajit-5.1 -lm -ldl /xxx/xxx/pcre-8.02/.libs/libpcre.a -lssl -lcrypto -ldl -lz
改成
-Wl,-E -lpthread -lcrypt /xxx/xxx/libluajit-5.1.a -lm -ldl /xxx/xxx/pcre-8.02/.libs/libpcre.a -lssl -lcrypto -ldl -lz
改完后 再执行 make && make install 就行了
我们用ldd nginx命令可以看到,已经依赖luajit动态链接库了
第三种方法
移除luajit的so文件,只保留.a文件,这样ld在连接时找不到so文件,就只好链接.a文件了。
这样改了之后,还需要修nginx_lua的config文件,否则configure会失败,失败原因是gcc需要-ldl参数
修改nginx_lua的config
将
ngx_feature_libs="-R$LUAJIT_LIB -L$LUAJIT_LIB -lluajit-5.1 -lm"
改为
ngx_feature_libs="-R$LUAJIT_LIB -L$LUAJIT_LIB -lluajit-5.1 -lm -ldl"
即可
相应位置的ngx_feature_libs 都需要添加-ldl这个参数
改完后,重新编译nginx,就可以成功了。
0 0
- nginx静态编译lua[jit]
- JIT 编译 LUA常见库和工具
- JIT编译
- JIT编译
- JIT(动态编译)和AOT(静态编译)编译技术比较
- JIT(动态编译)和AOT(静态编译)编译技术比较
- JIT(动态编译)和AOT(静态编译)编译技术比较
- JIT(动态编译)和AOT(静态编译)编译技术比较
- [原]Nginx+Lua服务端合并静态文件
- nginx静态编译luajit (openresty)
- JIT(即时编译)
- 编译、解释与JIT
- JIT - 即时编译
- JIT(即时编译)
- jit即时编译
- JIT(即时编译)
- Lua的静态编译(for 5.1)
- Lua的静态编译(for 5.1)
- match_parent和fill_parent的区别
- SQLite 文件锁和写同步
- 我创业的这一年 九个月只有两个人
- Android开发随笔之ScrollView嵌套GridView
- 网络驱动移植之sk_buff结构体及其相关操作函数
- nginx静态编译lua[jit]
- Ubuntu 完美安装Sublime Text 2 & Ubuntu Tweak
- 简单的登录验证
- SQL UPDATE 语句
- linux gdb 查看内存
- PHP生成各种验证码和Ajax验证
- 2013.12.24并行继续 锁
- 计算2的100次方模5的结果
- IOS异常记录