之前一直以为birdnest必须在GAE环境下才能搭建,经由Black-Xstar的提醒,才知道只要主机支持python即可使用birdnest搭建twitter api proxy。经过尝试之后终于成功搭建了一个birdnest的twitter api proxy.
首先你要有一个支持python,并且你有ssh访问权限的虚拟主机空间。如果你没有,你可以选择在Google App Engine上搭建。具体可以参考ifanr论坛上的教程,这里不再赘述。
birdnest是一个python程序,它使用wsgi开启了一个http服务,能接受正常http的post和get请求。只要运行了这个 python程序,它将在指定的端口监听。说了这么多废话,无非就是这个意思:birdnest不像php程序一样,把文件放在某个web目录下即可,需 要单独运行它并保持这个程序打开。
需求:
svn客户端。如果没有,可以以web方式从birdnest官网co出最新的代码。
python环境。经过测试,至少需要>=python2.5,至于具体到哪个版本号我就没详细测试了。我使用的是python2.5.2
GNU screen。这玩意儿是标配吧?
具体步骤(假设在linux虚拟主机上操作。如果你使用的是windows主机,请自行安装svn客户端以及所需的python组件)
- checkout最新的代码:
在任意目录执行:svn checkout http://birdnest.googlecode.com/svn/branches/stable birdnest-read-only
代码将放置于当前目录下的birdnest-read-only目录下。注意这里co的是最新的stable分支的代码。trunk分支里的代码经过测试有代码错误,无法正常使用。
- 进入目录,执行
python code.py 虚拟主机的ip:你需要的端口
例如我的虚拟主机ip是64.62.216.123,我想让birdnest监听1234端口,那么我执行:
python code.py 64.62.216.123:1234
这时候可能有两种情况:
- 你看到如下输出:http://64.62.216.123:1234/。那么一切正常,恭喜你,你的birdnest已经搭建完毕
- 你看到类似这样的错误信息:
Traceback (most recent call last):
File "code.py", line 9, in
from birdnest.filter import Filter
File "/home/yegle/birdnest/birdnest/filter/__init__.py", line 5, in
import simplejson
ImportError: No module named simplejson很遗憾,你有麻烦了…你的python环境缺少birdnest需要的模块。没关系,手动安装之。具体的方法后面再说
- 假设你已经成功运行了birdnest,尝试用你的twitter客户端使用这个api地址,即http://你的ip:你的端口/api。
birdnset提供了3种api,/api、/optimized、/text。具体的区别你可以在birdnest官网查到。
如果你成功访问了这个api,终端将给出日志信息,格式类似于apache的访问日志。同时当前目录的log.txt将记录一些更加详细的信息。如果你不能访问这个api,或者访问遇到了错误,应该先看看log.txt再寻求帮助 - 客户端访问正常后,请ctrl+c结束birdnest,然后运行screen,再运行
python code.py 64.62.216.123:1234
然后用ctrl+a,d将当前的screen进程detach,退出ssh登陆。不出意外的话,这个时候你仍然可以使用你的api proxy。至此,birdnest twitter API proxy在自己主机上的搭建完成。
关于python环境:
首先仔细看birdnest运行时提示的信息,看缺少的是什么模块。分两种情况:
- 缺少的是python标准库里的模块。如提示缺少etree模块。这是因为你使用的python版本过低。
- 缺少的是其他模块。你需要手动安装模块。
如果你使用的是独立主机或者vps,最简单的方法就是让系统管理员来解决问题。
如果不是,并且你没有root权限,那么你只能安装python及其他模块到你的家目录了。
python的安装比较简单,configure的时候把prefix指定为你的家目录下某个文件夹即可
模块的安装,下载模块解压后,运行
python setup.py build
编译模块,然后
python setup.py install --prefix=你想安装的目录
。安装完成后,用
PYTHONPATH=你安装的目录 python code.py 你的ip:你的端口
来运行birdnest
--
Posted By GFW Blog to GFW Blog at 7/31/2009 12:17:00 A
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论