最新想用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安装步骤的更多相关文章

  1. 自己整理的openresty安装步骤

    这几天一直在研究对webapi的限流和名单的问题,于是看了开涛博客的方案,于是就用到了openresty,一个把Nginx和lua集成的东西. 下面就是整理的安装方案(简单使用基本可以这么安装) 下载 ...

  2. hive-1.2.1安装步骤

    一.Hive安装和配置 1.先决条件 已经安装好hadoop-2.4.1,hbase-1.0.0. 2.下载Hive安装包 当前Hive可到apache官网下载,选择的是hive-1.2.1.运行: ...

  3. Mac上brew&thrift安装 以及在thrift架构下,自己新作了maven的小例 Demo

    1.缘由 前几天偶尔在网上看到thrift的信息,其内容和作用极大的引起了我的兴趣,因为我也是做iOS开发的,通过在网上的查询发现信息虽然很多实用的很少,容易误导他人,经过自己的成功实践,做了笔录,为 ...

  4. 【Thrift一】Thrift安装部署

    Thrift安装部署 Thrift安装部署 下载源码包 安装g++ 解压Thrift安装包 安装boost开发工具 测试(python版) 下载源码包 wget http://apache.fayea ...

  5. Thrift安装介绍

    一.简介 1.语言库要求 因为thrift支持多语言.所以编译thrift源代码的过程中,会用到该语言的一些类库.如c++的boost.java的jdk等. 那么,在安装thrift过程中,须要对各种 ...

  6. 如何搭建SVN服务器,详细安装步骤。

    SVN服务器端安装 下载: VisualSVN是一款图形化svn服务器.官网 http://www.visualsvn.com/server/ 下载地址: http://www.visualsvn.c ...

  7. arcgis10.2.2桌面版具体的安装步骤过程

    先声明一下,这里的截图虽说是ArcGIS10.1版本的,但是安装步骤是对的,本人用ArcGIS10.2.2软件测试成功安装上 一.ArcGIS许可证管理器安装 1.在软件包文件夹license man ...

  8. LoadRunner 11 安装步骤

    loadrunner 安装步骤: LoadRunner11下载:  在网上可以搜索到,在这个就不提供了. LoadRunner11原理: 破解方法和以前版本相同,我用的是LR8.0的破解文件,同样实用 ...

  9. MySQL安装步骤

    MySQL安装步骤 1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. ...

随机推荐

  1. 基于Mac制作iPhone铃声教程,iTunes定制铃声

    前言: 网上太多制作方法了,不管是借助第三方软件还是基于iTunes的,不过这些方法都太旧了,有时看起来 ,界面的变化或其他原因,导致很不爽. 正好记录下我最近使用的一种方法: 正文: 一.下载你需要 ...

  2. oracle学习笔记(2)-基本术语

    oracle基本术语 先上图. 相当粗糙的一个图,可能有些地方不够精细,大致结构基本是对的. 逻辑结构上从大到小的依次为文件(file)->表空间(tablespace)->段(segme ...

  3. el表达式字符串使用总结

    el表达式截取 逗号后面的字符串${fn:substringAfter(strVar,',' )} el表达式判断字段长度<c:if test="${fn:length(strVar) ...

  4. js中的字符替换

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. AngularJS-repeat指令

    <body ng-app="myApp"> <div ng-controller="myCtrl"> <ul> <li ...

  6. android studio创建一个最简单的跳转activity

    实现目的:由mainActivity跳转到otherActivity 1.写好两个layout文件,activity_main.xml和otherxml.xml activity_main.xml & ...

  7. Python3.5学习笔记-文件操作

    在Python中,操作文件对象使用open函数来创建,下表列出了常用的操作file的函数: 序号 方法及描述 1.file.close() 关闭文件.关闭后文件不能再进行读写操作. 2.file.fl ...

  8. Ext 创建workspace package

    Ext 创建workspace package Package ExtJs Project 1. 创建工作区间文件目录 md wpt 2. 进入目录 cd wpt 3. 创建 创建工作区间 sench ...

  9. LR监控Windows Server 2008 R2系统资源提示“指定的网络名不可用。”

    问题现象: LR监控远程服务器Window Server 2008 R2 系统资源,提示“Monitor name :Windows Resources. Cannot connect to mach ...

  10. etcd raft library设计原理和使用

    早在2013年11月份,在raft论文还只能在网上下载到草稿版时,我曾经写过一篇blog对其进行简要分析.4年过去了,各种raft协议的讲解铺天盖地,raft也确实得到了广泛的应用.其中最知名的应用莫 ...