建站之一:平台选择和环境搭建(SAE)

一、为什么选择 SAE 建站

1. CS/BS 架构的选择

  1. CS(Client/Server)的服务器端通常都是由程序实现服务,并且一直在后台运行,客户端是一个程序。

BS(Browser/Server)的服务器端是 Web 服务器在后台运行(如 apache),只需要写一些程序(如 PHP)被 Web 服务器调用即可,而客户端可以是浏览器也可以是程序。

  1. 就实现而言,无论协议的设计,编码,还是调试,BS 都相对简单。

2. GAE 与 SAE 的选择
SAE(Sina App Engine)是新浪开发的 用于 WEB 应用程序的开发和托管的平台

,它提供了 Web 服务器,存储空间,数据库,负载均衡,数据备份等等,开发者只需要实现应用相关编码即可使用。 GAE(Google App Engine)是谷歌开发的 WEB 应用程序开发和托管的平台。 GAE 和 SAE 各有优势,考虑到主要面对国内用户,而 GAE 时常被封,无法保证稳定性,故选择 SAE(参考《GAE 与 SAE 对比》)

3. 费用
SAE 以云豆计费,对流量,CPU 时间,存储空间等进行计费,只需对使用的资源付费。注册,手机认证,实名认证,开发者认证都可获得一定数量的云豆赠送,前期访问量少时,基本无需费用,后期可申请开发者认证,以争取更多的云豆赠送,来减免一些费用(赠送规则,计费说明参考《SAE 文档中心》)

4. 编程语言的选择

SAE 现支持 PHP,JAVA,PYTHON,而 JAVA,PYTHON 还在测试阶段,且 PHP 实现比较简单,故推荐 PHP

5. 建站注意事项
鉴于平台收费的变化,应尽量加强程序的可移植性,以免被某些平台牵制。

  1. 使用更为公共的接口, 尽量少用平台自身的 API

  2. 实现数据库的导入/导出及备份

  3. 准备程序及数据的备份和迁移方案

  4. 尽量使用域名

二、实例

1. 创建一个 web 类型的应用

2. 使用 SVN 工具将代码上传到服务器(以 Linux 系统为例) $ sudo apt-get install subversion
$ mkdir svnclient
$ cd svnclient
$ svn co https://svn.sinaapp.com/xxxxxx
输入用户名是注册邮箱,密码是 sae 密码,并非 weibo 密码
编辑 index.php
$ svn diff
$ svn commit -m "desc"

三、其它

1. 数据存储
大的数据和图片放在 storage 上,程序相关的可以放在 svn 代码目录下,代码目录不允许 IO 操作以防止用户写入数据,利用”saestor://“在 storage 中进行读写操作,更加安全

2. SAE 应用页面,点左侧的服务管理,MYSQL,按“点击初始化 MYSQL”按钮,即可以看到数据库的相关信息(IP,端口,用户名,密码等)和权限

3. SAE 创建博客类网站
建议使用 SAE+WordPress

4. 如果创建应用时选择类型错误,如何修改? SAE 应用界面,左侧点应用设置,修改类型,更新应用信息
SAE 应用界面,左侧点代码管理,创建一个新版本,然后将新版本设置为默认版本,最后删除之前错误的版本(默认版本不能删除)

5. 如何数据库

在 SAE 中开启 MYSQL

四、参考

1. GAE 与 SAE 对比
[http://www.laokboke.net/2011/10/23/gae-vs-sae/

](http://www.laokboke.net/2011/10/23/gae-vs-sae/)

2. SAE 文档中心
http://sae.sina.com.cn/?m=devcenter

3. 如何申请 SAE 中级开发者认证(用以免费获得云豆) [http://sae.sina.com.cn/?m=devcenter&catId=243

](http://sae.sina.com.cn/?m=devcenter&catId=243)
http://ben-lab.com/tech/1586.html

4. SAE+JSon 的实现
http://code.google.com/p/bjgs/

5. 作者实现的网站
http://oatmental123.sinaapp.com