1. 程式人生 > >Openresty使用Thrift安裝步驟

Openresty使用Thrift安裝步驟

nod so文件 style 支持 www 使用步驟 javame php 協議

最新想用Golang與Openresty相互通訊調用,使用RPC協議來實現,後來研究最終選擇了Thrift;主要還是FB實現了支持Lua和Go模塊,直接編譯就可以成功嵌套使用,非常方便;研究了兩天最後編譯成功,於是便把使用步驟做下記錄。

1、Mac安裝Thrift

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
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

 

Openresty使用Thrift安裝步驟