My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
GAEInstallation  
GAE Plugin的部署配置说明.
Featured
Updated Feb 3, 2012 by yinqiwen@gmail.com

Step 1: 准备JDK/JRE环境

运行部署snova需要JRE/JDK 1.6+

Step 2: 创建GoogleAppEngine帐号/应用

在官方站点创建自己的GAE帐号以及appid http://appengine.google.com/

Step 3: 准备GAE SDK环境

  • 下载解压Google App Engine SDK(Java/Go) (最新版本), snova-gae支持Java/Go两种语言的server端实现,任选一个即可
  • Windows先没有Go的SDK,但上传snova-gae可以用任意Linux下的Go SDK上传

Step 4: 部署Server到Appengine服务器

  • Java
    • GUI方式
    • 命令行方式
      • 下载并解压snova-gae-jserver-[version].zip
      • 进入解压的目录, 修改war/WEB-INF/appengine-web.xml, 将<application>值改为自己创建的appid
      • 执行appcfg.cmd/appcfg.sh update war上传, 注意在解压后进入的目录执行(appcfg在'<Google App Engine Java SDK>/bin'下 )
  • Go(Windows下可以用Linux SDK上传)
    • 下载并解压snova-gae-gserver-[version].zip
    • 进入解压的目录, 修改app.yaml, 将application: snova-master中snova-master值改为自己创建的appid
    • 执行appcfg.py update snova-gae-gserver-<version>上传(appcfg.py在'<Google App Engine Go SDK>/'下

Step 5: 配置Snova GAE Plugin的客户端

  • Framework
  • Framework的配置仅有两三项,具体涉及proxy的配置均在相应plugin的配置中;目前均在conf/snova.conf中(GUI启动则在Config对话框中配置),简要说明如下:
    1. 如下的配置为默认的proxy地址,相应的浏览器的proxy地址应该填"127.0.0.1:48100"
    2.             [Framework]
                   #本地ProxyServer监听地址
                   LocalHost=localhost
                   LocalPort=48100
    3. 如下为默认选择的proxy实现,若安装了其他的plugin,则可以在此修改为其它的proxy实现
    4.             [Framework]
                  ......
                  ##Can choose in plugins GAE/SPAC/C4, default is GAE
                  ProxyService=GAE
    • GAE Plugin
    • 基于GAE实现大部分配置均在gae-client.conf中(GUI启动则在GAE plugin的相应Config对话框中配置),简要说明如下:
      • WorkerNode 为已部署的ApplicationID, 即<appid>.appspot.com<appid>, eg:
      •              [GAE]
                     WorkerNode[0]=root:passwd@appid1
        GUI方式下参考下面方式
      • <WorkerNode appid="" />可配置多个,此情况下, 代理过程中采用轮询策略选择, eg:
      •             [GAE]
                    WorkerNode[0]=appid1
                    WorkerNode[1]=appid2
      • WorkerNode 中可以配置用户名/密码,具体用户名/密码概念请参考Authorization, eg:
      •           WorkerNode[0]=root:passwd@appid1
      • 如果不配置appid的话,client会到master node上获取数个共享的appid用于自身启动,注意—— 共享的appid只能用于匿名用户使用(匿名用户的概念看这里Authorization
      • XMPP下Account为XMPP账户,是可选配置,在HTTP无法直连情况下可启用,目前可配置GTALK/jabber.org/OVI等几乎所有XMPP帐号(若有不支持的XMPP account,请提交ISSUE), eg:
      •            [XMPP]
                   Account[0]=user:passwd
      GUI方式则需要在Connection Tab下配置
      • XMPP账户可配置多个,此情况下代理过程中采用轮询策略选择,eg:
      •          [XMPP]
                 Account[0]=user:passwd
                 Account[1]=user:passwd[#serverhost:serverport][/oldssl]
      • XMPP模式仅在ConnectionMode模式为XMPP(ConnectionMode=XMPP)情况下生效
      • Compressor=Snappy压缩算法,注意Go服务端只支持Snappy实现,而Java服务端支持LZF/FastLZ/QuickLZ/Snappy
      • ConcurrentRangeFetchWorker=3 在下载文件/观看视频时生效,含义为并发的下载线程数,可以任意调整,建议在1~5之间调整
      • FetchLimitSize=512000 在下载文件/观看视频时生效,每次事务获取的大文件部分的大小,默认512KB
      • 配置多AppID情况下若需要将访问一个站点的请求绑定到指定AppID,则需要配置AppIdBinding
      •             [AppIdBinding]
                    #站点域名可用|,;隔开
                    appid=twitter.com|youtube.com

Comment by root9...@gmail.com, Jan 13, 2012

部署Go版的要在机子上装python吧,请问具体装哪个版本的?

Comment by project member yinqiwen@gmail.com, Jan 13, 2012

理论上2.X都可以,保险起见,用最新的2.7吧

Comment by r...@beta.usa.cc, Apr 1, 2012

PY 2.7 部署成功,Go 语言究竟怎么样的?难道也是PY衍生的?

Comment by JerryFra...@gmail.com, May 7, 2012

好复杂 T.T


Sign in to add a comment
Powered by Google Project Hosting