App Engine中文网

关于

我的Twitter @lookon
我的博客是 康爷的博客

我的GAE项目
Reader2Twitter
Posterous-Robot
life-zhi

Navigation

Hello, World!|中文版Google App Engine入门指南

Google App Engine使用CGI标准来和网站服务器进行交互。当服务器接收到来自你的应用程序的一个请求时,它会运行程序,根据环境变量里的请求变量以及标准的输入流(对于POST的数据)。对于响应,CGI会使用标准的输出流来输出,包括HTTP header和内容。

让我们首先做一个小程序以显示一则很短的信息。

创建一个简单的Request Handler

创建一个文件夹名字叫 helloworld.。所有的这个程序的文件都放在这个目录下面。

helloworld 文件夹里,创建一个名字叫helloworld.py,的文件,然后在里面输入:

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

这段Python脚本代码将会对每一个WEB请求响应一段HTTP header(用来描述内容),一个空行,以及一则信息Hello, world!

创建配置文件

每个App Engine程序都有一个配置文件叫做app.yaml。这个文件用来告诉服务器哪一段URLs用哪一个handler代码来处理。

helloworld 文件夹里,创建一个名叫app.yaml的文件,内容如下:

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py

从上到下,这个配置文件讲了如下几个关于应用程序的内容:

  • 这个应用程序的ID是helloworld。当你在最后一步中上传你的程序时,你得选择一个唯一的ID,然后代替掉这个helloworld。在调试开发阶段,这个ID可以是任何值。现在,我们把它设成helloworld
  • 这个程序代码的版本号是1,如果你上传了新的版本的程序,App Engine会保留以前的版本,通过管理控制台,你可以将你的App Engine程序恢复到以前的版本。
  • 这段代码是在python 运行时环境下运行的,版本号是1.其他的runtime环境和语言可能会在将来得到支持。
  • 每个符合正则表达式/.* (即所有URLs)都将用helloworld.py 这段代码进行处理。

The syntax of this file is YAML. For a complete list of configuration options, see the app.yaml reference.

这个文件的语法是 YAML.。关于完整的配置选项,参见 the app.yaml reference

调试程序

有了处理脚本代码和用来映射URL的配置文件之后,这个程序就完整了。你现在可以使用App Engine SDK内置的服务器测试你的程序了。

用下面的命令来启动web服务器,将helloworld的文件夹地址添加到命令后面: 

google_appengine/dev_appserver.py helloworld/

这个web服务器现在就开始运行了,监听端口为8080.使用下面的地址就可以在浏览器中调试你的程序了:

想要获取更多关于运行开发web服务器的信息,比如如何改变监听端口,参见the Dev Web Server reference,或者在命令后面添加--help

继续开发

你可以在服务器运行的时候继续开发你的程序,web服务器会查看你的源文件的改变,并在需要的时候重新加载。

试试看:让web服务器保持运行,然后编辑helloworld.py 里的文件内容,将 Hello, world! 改成其他的内容,然后重新访问http://localhost:8080/ ,你会看到页面发生了改变~

想要关闭web服务器,只要在terminal窗口激活的情况下,按Control-C(或者对于你的控制台来说正确的打断命令)。

你可以在本使用指南的下面的部分中一直保持web服务器运行,如果你需要关闭它,下次你仍可以使用上面的代码来将web服务器重新开启。


上一页 下一页