thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python,
PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些
thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。
thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言
//系统自带的php是5.1的,thrift要求php版本为5.2以上 update php5.1 to php5.2
rpm -qa |grep php
vi /etc/yum.repos.d/zongguofengcn.repo
[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
//添加以上内容,保存这个文件
yum -y update php
//check php version
rpm -qa |grep php
//下载针对自己系统版本的jdk 这里我download的是jdk-6u27-ea-linux-amd64.rpm
mkdir /usr/java/
chmod 777 jdk-6u27-ea-linux-amd64.rpm
rpm -ivh jdk-1_6_0_14-linux-i586.rpm
//打开 /etc/profile 文件 在文件最后加入
vim/etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_27
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
//使配置生效
source /etc/profile
//下载java依赖库 apache-ant-1.8.2.tar.gz apache-ivy-2.2.0.tar.gz
tar -xvf apache-ant-1.8.2.tar.gz
tar -xvf apache-ivy-2.2.0.tar.gz
mv apache-ant-1.8.2 /usr/java/
cp apache-ivy-2.2.0/lib/ivy-2.2.0.jar /usr/java/apache-ant-1.8.2/lib/
添加ant至环境变量
export JAVA_HOME=/usr/java/jdk1.6.0_27
export ANT_HOME=/usr/java/apache-ant-1.8.2
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ANT_HOME/bin:$PATH
//下载thrift依赖库
wget http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz
tar –xvf libevent-2.0.10-statble.tar.gz
./configure
make
make install
注:!!!!如果make error 可选择用 yum install libevent libevent-devel -y来进行安装
//下载thrift
wget http://apache.etoak.com//thrift/0.7.0/thrift-0.7.0.tar.gz
tar -xvf thrift-0.7.0.tar.gz
//执行配置文件 查看编程语言依赖是否成功
./configure --prefix=/usr/local/thrift
make
make install
//如缺少依赖的库文件,可执行以下命令
yum install libghc6-http-dev libghc6-binary-dev libboost-iostreams-dev libboost-filesystem-dev libboost-dev automake libtool flex bison pkg-config g++ ivy libslf4j-java libcommons-lang-java liblog4j1.2-java automake1.10
yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel glibc-devel glibc glib2 glib2-devel