Introduction
将web应用部署到网上,需要两个条件,域名和虚拟主机。而现在流行的云计算平台就可以免费为我们提供这个服务,而且管理简单,无需担心硬件、补丁或备份,并可轻松实现可扩展性。如果你用的开发语言是java和python,很幸运,Google app engine(简称GAE,谷歌的云计算平台)和Sina app engine(简称SAE,新浪的云计算平台)都可以很容易满足你,另外GAE还支持GO语言,SAE支持PHP。下面详细介绍一下如何使用两个云平台部署应用。以Python开发为例。
GAE
目前GAE免费账号允许你创建10个应用(注意,创建应用后不可删除),每一个应用提供1GB的容量,、每月500万次PV,超过部分要收费。月流量是60GB(传出带宽是1GB/天,传入带宽1GB/天)。
开发文档:
https://developers.google.com/appengine/
步骤:
1.首先你需要有Google账号。
2.打开Google App Engine主页,在页面右边输入你的账号密码,点“sign in”按钮登录后点“Create an Application”按钮可创建一个应用。创建应用时候需要输入手机号码用于接收验证码,记得手机号码前面加上+86。
3.成功创建应用后通过xxx.appspot.com可以访问你的应用。xxx是你应用的名字。
部署本地开发环境:
1.安装Python开发环境。目前GAE支持Python 2.5和2.7,推荐使用2.5。
2.从https://developers.google.com/appengine/downloads下载安装App Engine SDK。用于本地开发调试和上传部署你的应用到GAE。
3.安装完后会在桌面出现一个Google App Engine Launcher,这就是GAE的本地调试和部署工具,设置一下Google App Engine Launcher的python路径:Edit-Preferences-Python Path项。Google App Engine Launcher界面如下:
另外还可以通过eclipse的pydev插件使用python sdk。
详细使用过程可参考:http://www.iteye.com/topic/554757/
SAE
新浪提供的云服务。免费用户可以创建10个应用,应用可删除。有限免费使用服务。怎样有限免费使用呢?SAE部署的应用会消耗云豆,而你有多少云豆你的应用就可以用得多久。详细的云豆消耗计算方式可以参考SAE主页上的介绍。你刚开始申请一个GAE账号,会免费得到500云豆。通过实名认证后可以得到2000云豆(2500云豆大概可以供一个普通应用的半年消耗)。而通过普通开发者认证后每月会有1000云豆送,相当于你可以长期免费使用GAE服务了。而开发者认证的级别越高,每月得到的云豆自然越多。SAE通过SVN部署应用,使用比较方便,不过本地开发环境使用起来又点麻烦。
开发文档:
SAE主页:http://sae.sina.com.cn/
Python API:http://python.sinaapp.com/doc/index.html
步骤:
1.首先在SAE首页申请一个GAE账号,非微博账号。
2.下载安装SVN工具。
3.创建应用。创建应用后可以通过xxx.sinaapp.com访问你的应用。xxx是你创建的应用。当然还可以绑定你自己的域名。
3.通过svn在本地checkout。创建本地开发目录。SVN根目录下只允许存在以正整数命名的目录,不允许有文件存在, 这些目录为应用的版本目录,每个版本目录下才可以放应用对应版本的代码。编写完代码commit就可以完成部署。
部署本地开发环境:
1.安装Python开发环境,SAE只支持2.7.3
2.在GitHub上Clone安装文件到本地。GitHub地址:https://github.com/SAEPython/saepythondevguide
3.在本地GitHub的saepythondevguide有三个文件夹
dev_server 本地开发调试服务器
docs帮助文档
examples 使用示例
4. 在dev_server下运行以下命令安装dev_server
pythong setup.py install
5. 进入应用的本地开发目录,也就是index.wsgi和config.yaml所在的目录。运行如下的命令启动测试server:
dev_server.py
MySQL config not found: app.py
Start development server on http://localhost:8080/
访问 http://localhost:8080 端口就可以访问你的应用了。
详细请参考SAE的主页上的介绍。