数据环境搞好了,必须考虑如何存取、传输。我们用thrift。Facebook 开发的远程服务调用框架 Apache Thrift,支持 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 。其传输数据采用二进制格式,相对 XML 和 JSON 体积更小,对于高并发、大数据量和多语言的环境更有优势。
本系列只讲部署安装,原理神马的以后再说!
有些人安装thrift很容易就成功了,那是因为他机器的各种库比较全,有些安装目录和版本也恰好对了,我就没那么幸运了【其实我总是那么不幸。。】
上教程:
我安装的是thrift 8 ,必须要说一句的是你必须配php 5.2.X,别的版本不行!我去php官网下载,居然没有了,只有5.4,5.3.。。郁闷。
1.安装thrift所需环境及依赖库
g++ lex yacc boost libevent autoconf automake libtool pkg-config等,一个个的看吧,缺哪个装那个。
(详见http://wiki.apache.org/thrift/ThriftRequirements)
大多都是经典三步安装
1>./configure --prefix=安装目录【一般不指定安装目录即可】
2>make
3>make install
boost安装有点区别:
1>./bootstrap.sh --prefix=安装目录
2>./b2
3>./b2 install
2.安装thrift:(根据情况选择配置选项)
1>./configure --with-boost=boost安装目录 --prefix=安装目录
(可能遇到configure文件没权限,自己修改该文件的权限)
2>sudo make
3>sudo make install
遇到错误不要担心,一点一点的排除。你可以先看看那些文件编译不过去,在排除了权限问题之后,你可以去lib下的每个文件夹下去单独编译。
我遇到的问题是开始php模块显示了某些函数没有被声明的错误,我想明明php已经安装成功了,但是就是不行,最后去报错的头文件去看了一下,所需的头文件也顺便看了一下,发现确实没有那个函数,最后在国外的一个论坛看见一个哥们说,只有php5.2才有。。好吧,我直接下载了,就可以了。
另外,我的cpp模块也编译不过去,原因是libevent的include找不到文件了,一并下载安装,OK搞定!
顺便提一句,五台机器都需要部署,直接把make过的打包发过去,然后直接make install 就行了,挺快的!
如果你有权限问题,最后make 和 make install的时候不要忘了sudo啊。