2009年5月25日星期一

web2py 的远程开放

web2py是一个有趣的框架,它的特色之一就是在页面上集成了一个简单的开发环境。但是这个前提是只能从127.0.0.1访问,否则会提示你"不是安全通道"。
那么,是不是就没有办法把代码集中部署到一个远程服务器上开发了?
后来,我在web2py的官网上搜索到一个方法,,就是通过ssh映射远程端口到本地,可以实现远程开发。例如,我在192.168.0.13主机上run了一个web2py示例:
python web2py.py -i 0.0.0.0

那么我就从本机:

ssh -L 8000:127.0.0.1:8000 192.168.0.13

登录之后,如果再从浏览器访问 http://127.0.0.1:8000 ,打开的就是远程主机的回环IP。此时,就可以对远程的站点项目进行开发了。由于Web2Py提供了编辑冲突保护,甚至我们可以用这种方法进行团队集中式开发。

当然,我还是建议尽可能走成熟的版本管理系统进行开发。一个比较好的模式是每个团队成员在本机有一个开发环境,在测试服务器上有一个集中的环境,成员通过分布式版本管理系统——例如Python和OpenJDK项目使用的mercurial,或web2py和ubuntu项目使用的bzr——与测试服务器上的中心仓库同步,就可以实现比较理想的写作效果。更严格的管理模式,可以使用一个SVN,然后对可集成的分支挂一个hook,使其可以在有用户commit后自动发布到测试/生产服务器。

在这种情况下,通过ssh远程进入web2py的开发环境,也可以帮助我们获取错误信息,仍然是一项很有意义的技巧。
--
杀人放火金腰带,补路修桥无尸骸。

……

劉鑫
March.Liu

没有评论: