弄了整整两天 终于跑起来了 记录一下...
ubuntu10.04
首先是apache 要安装worker-mpm的才行
可以重新编译apache
我用源安装的 方法网上搜下就有了 不多写
要注意的一点就是用fcgi跑php的时候 要在站点设置里指定.php文件的处理器
然后就开始弄orbited了 当然找官网教程里的例子了
先说下orbited的安装吧
首先安装easy_install 什么用自己上网查
接着就用easy_install 安装orbited 它会自动将twisted装好(orbited0.6之后需要twisted支持, 没自动装的话就自己装一下吧)
插一句话 orbited的默认端口是8000 但是我看到的教程中都说改成9000 问题是他们的配置文件好多没改 - -!!! 大家注意点吧
先试了这个
http://www.royalbarrel.com/blog_files/4.django_orbited.html
这个例子中 orbited的运行方式跟普通tcp编程没什么两样 需要一个handler来处理每一个链接 只不过是在__init__.py中启动
折腾了半天 由于对apache的配置不熟悉 花了很多时间
apache里要用ProxyPass指令进行后台重定向 这样做主要是因为js不能跨域(当然硬要跨的话也是有办法的) 于是就依靠apache完成了
说一下 orbited是可以独立运行于web应用之外的 因此做下跨域比较好
弄好这个又折腾了一会儿静态文件 最后是跑起来了 但是没成功
为了测试方便我在wait之前加了notify send之后加了sleep
我用telnet监视9000端口 用网页访问后9000端口确实返回数据了 但是网页上怎么试没反应 于是宣告失败....
下一个是
作者是好人 代码打包了 可是我是照着复制好了才看到有代码....
这个例子中使用到了stomp.py 这个名字真怪 .py也是名字的一部分
ubuntu的源里面只有stompy 想不修改代码的话就老老实实去下载stomp.py吧
这个是客户端 服务器可以用源里的stompserver 直接启动就行了
这里orbited是单独启动的 就是跟web完全分开了 但是我在这里碰到了个很纠结的问题...
ConfigParser.NoSectionError: No section: 'formatters'
启动时 一直给我报这个错误
google搜了半天 试了很多方法 最后的结论是python有bug... 于是更换python版本 从2.6换到2.7 总算不出这个错了
另外一处报配置文件错误 把[global]部分删掉就好了
这篇文章里没说apache要做ProxyPass 不过还是做一下比较好 要知道localhost跟127.0.0.1之间也算跨域的...
然后直接按作者的方法跑 成功了
至此我的第一个orbited程序跑起来了
全部弄好才写的 写的比较简单 具体细节再次碰到的时候来修改吧