thrift入门(1) -- 安装配置
thrift 是一个跨语言的通讯框架,支持c++, java, .net, python,php等。你可以用一种语言写一个服务器,然后另外一种语言写一个客户端,快速搭建一个rpc调用服务。而且它很轻量级,只要引入特定库便可以运行服务和客户端,不需要再安装配置其它复杂的环境和容器。
下面介绍如何在ubuntu11.10上安装thrift0.8.0。
1. 下载thrift,页面http://thrift.apache.org/download/里有相应链接。
我下的是0.8.0:
wget http://labs.renren.com/apache-mirror//thrift/0.8.0/thrift-0.8.0.tar.gz
2. 解压:
tar -zxf thrift-0.8.0.tar.gz
cd thrift-0.8.0
3. 安装依赖:
sudo apt-get install libboost-dev automake libtool flex \
bison pkg-config g++ autoconf autotools-dev flex libtool byacc
4. ./configure && make && make install
上面如果没出什么问题的话就安装好了。
注意:如果是安装thrift-0.9.0,则需要把qt功能关掉,否则会出错。,
另外如果在ubuntu下面安装,在make install的适合可能会遇到权限问题,因为需要复制一些文件到系统目录,所以需要sudo。
./configure --with-qt4=no && make && sudo sudo make install
下面我们用python简单的测试一下是否安装成功。
1. 首先构建python的thrift库:
cd lib/py
sudo python setup.py install
2. 生成python例子的相关代码:
cd http://www.cnblogs.com/tutorial
thrift --gen py thrift.thrift
thrift --gen py shared.thrift
cp py/* gen-py
cd gen-py
3.运行例子:
python PythonServer.py &
python PythonClient.py
我运行的时候报错,说getaddrinfo参数类型错误。看了一下源码,发现TSocket类的构造方法第一个参数是host,第二个是port。二PythonServer.py代码里面只给了一个参数,是端口9090。TSocket构建的时候将端口当成了host,类型不对,所以报错。将PythonServer.py的84行改一下就好了》
老的:transport = TSocket.TServerSocket("localhost",9090)
新的:transport = TSocket.TServerSocket(9090)
好了,收功了,以后我会讲一下如何用java搭建服务,php调用。
转载于:https://www.cnblogs.com/alala666888/archive/2012/02/25/2367886.html
thrift入门(1) -- 安装配置相关推荐
- Maven - 基础入门与安装配置
Maven - 基础入门与安装配置 [1]Maven基础入门 Maven的核心程序中仅仅定义了抽象的生命周期,但是具体的工作必须由特定的插件来完成.而插件本身并不包含在Maven的核心程序中. 当我们 ...
- LINUX新手入门及安装配置FAQ(http://bbs.blueidea.com/viewthread.php?tid=635906amp;page=)
LINUX新手入门及安装配置FAQ 剑气凌人 [楼主] 尖脐 荣誉管理团队 帖子 6386 体力 10046 威望 168 当前 北京 海淀区 发短消息 个人网站 1# 大 中 小 发表于 ...
- [转贴]LINUX新手入门及安装配置FAQv
[转贴]LINUX新手入门及安装配置FAQ 网络技术论坛 > Unix/Linux 专区 > Unix/Linux安装和管理 linmingchongAug 24 2004, 10:47 ...
- caffe linux 教程,Caffe 深度学习入门教程 - 安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN_Linux教程_Linux公社-Linux系统门户网站...
安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN 一.版本 Linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18 ...
- [转贴]LINUX新手入门及安装配置FAQ
入门篇安装篇 Q:如何制作安装磁盘? 你可以使用两中方法制作安装磁盘.在M$-DOS下,可以使用专门为其开发的rawrite命令(安装光盘/dosutils下),将boot.img(安装光盘/imag ...
- RabbitMQ入门之安装配置与简单实例
为什么80%的码农都做不了架构师?>>> 简介 由于某些原因,今天接触了一下一个新的东西RabbitMQ( http://www.rabbitmq.com/)总的来说给人的感觉 ...
- python安装 + pycharm安装和入门学习 +安装配置TensorFlow
参考博文https://blog.csdn.net/qq_32811489/article/details/78636049 进行pycharm的激活注册. 参考https://blog.csdn.n ...
- Vue入门(安装配置启动项目)
学习本篇之前要具备一定的vue基础知识,可以先看一下Vue基础(环境配置.内部指令.全局API.选项.内置组件) 1.Vue-cli Vue-cli是vue官方出品的快速构建单页应用的脚手架,这里牵扯 ...
- VS/Xamarin Android入门(安装配置与基础控件)一
一.安装和配置(以Visual Studio Pro 2015为例) Visual Studio2015直接提供了这个插件的选择项,稍微提示一下,如果要安装的话,最好准备好十个小时的打算,而且是网速不 ...
最新文章
- go语言笔记——defer作用DB资源等free或实现调试
- Matrix 矩阵
- 编程软件python中的if用法-给Python初学者的一些技巧
- 玩双节棍的算法工程师:鱼佬的数据挖掘之路!
- springboot使用j2cache框架和aspectj自定义缓存
- 『设计模式』一句话教你分清楚UML组合聚合和联系!
- Vue 2升级 Vue 3初探小细节
- java字符串常量池——字符串==比较的一个误区
- int指令02 - 零基础入门学习汇编语言65
- 力改变物体形状举例_对旋转问题的思考-在离心力确定的情况下,物体的旋转情况如何通过宇宙中的相对运动情况和质量分布确定?...
- Python使用BoundedSemaphore对象进行线程同步
- C++实践笔记(四)----AVL树的简单实现
- JS 浏览器差异(IE和FF)
- 百度网盘python客户端——筑梦之路
- 自学编程需要注意什么? 1
- 手机抓包 fiddler magicwifi
- uniapp对接微信公众号H5微信支付、分享、小程序隐藏右上角分享胶囊
- 游戏保护_CRC32检测
- 学习Python后,就业能从事哪些方向?
- 19种分布式系统设计模式
热门文章
- 【spring-session】介绍
- Spring cloud整合zookeeper
- Kubernetes基础学习(一)
- 怎么把丢失的计算机放回桌面,不小心把电脑桌面开始哪里放在右边了,怎么把它放回原处啊...
- javascript控制html高,Javascript可以控制css吗?
- streak10刷Linux,streak 10
- class mywnd : pubic qwidget是什么意思_学了这么久java反射,你知道class.forName和classloader的区别吗?...
- linux传统用户界面是,linux用户界面与Shell命令习题.doc
- elasticsearch mapping之store
- java高并发(九)线程封闭