Openresty使用Thrift安装步骤
最新想用Golang与Openresty相互通讯调用,使用RPC协议来实现,后来研究最终选择了Thrift;主要还是FB实现了支持Lua和Go模块,直接编译就可以成功嵌套使用,非常方便;研究了两天最后编译成功,于是便把使用步骤做下记录。
1、Mac安装Thrift
1 | brew install thrift |
2、Apache官网地址Thrift0.10下载地址
或者
git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift cd thrift
3、解压Thrift0.10
从Thrift源码(thrift/lib/go/thrift)中拷贝到go/src目录下,golang的thrift环境即配置好了。
4、编译Thrift环境
./configure --libdir=/usr/lib --without-java --without-python --without-as3 --without-javame --without-cocoa --without-cpp --without-csharp --without-d --without-dart --without-py --without-rb --without-ts --without-xml --without-json --without-jaxe --without-nodejs --without-php --without-perl --with-lua
编译前配置,使用--without-禁用java和python, 安装目录设为/usr/lib,而不是默认的/usr/local/lib
5、修改thrift-0.10.0/lib/lua目录下Makefile
1 2 3 4 | LUA = /usr/local/openresty/luajit/bin/luajit LUA_EXEC_PREFIX = LUA_INCLUDE = /usr/local/openresty/luajit/include/luajit-2 .1 LUA_LIB = /usr/local/openresty/luajit/lib |
6、编译.so文件
编译lua用的.so动态库的命令行:
gcc -O2 -bundle -undefined dynamic_lookup -o lualib.so libluabpack_la-luabpack.o gcc -O2 -bundle -undefined dynamic_lookup -o libluabpack.so libluabpack_la-luabpack.o liblualongnumber_la-longnumberutils.o gcc -O2 -bundle -undefined dynamic_lookup -o libluabitwise.so libluabitwise_la-luabitwise.o gcc -O2 -bundle -undefined dynamic_lookup -o libluasocket.so libluasocket_la-luasocket.o libluasocket_la-usocket.o gcc -O2 -bundle -undefined dynamic_lookup -o liblualongnumber.so liblualongnumber_la-lualongnumber.o liblualongnumber_la-longnumberutils.o
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架