Google App Engine的app.yaml详细说明
本文最后更新于 5033 天前,其中的信息可能已经有所发展或是发生改变。

Google AppEngine使用一个app.yaml作为其重要的全局的配置文件。
每个独立的Google AppEngine的应用,都必须声明这样一个文件。

app.yaml使用YAML作为格式。熟悉Ruby的人应该非常熟悉yaml这种格式。

必添内容
在一个app.yaml中,必须要声明如下字段:
application
application用来唯一标示一个Google AppEngine的应用。
在开发环境中(使用dev_appserver.py),这个字段必添,但其值随意。
但是在部署环境中(应用上载至Google AppEngin的host后),
这个值必须与你申请的Google AppEngine的那个application_id一致。

application: myapp
version
version用来标示这一个Google AppEngine应用的版本。同样,在开发环境中,这个值可以随意。

runtime 和 api_version
runtime 和 api_version标示应用将依赖于那种运行环境(runtime)的哪个版本(api_version)。
当前由于只支持python,因此这两个值是固定的。

runtime: python
api_version: 1
handlers
handlers用来定义一系列url handlers,(类似于URL Mapping,如果你熟悉Spring MVC的话)。
需要为每一个handler指派一个url pattern(可以使用正则表达式)。
一旦请求的URL满足这个pattern的时候,AppEngine便会将这个请求交由这个handler所制定的对象来处理。

当需要处理动态内容时,使用script字段。script定义了用来处理这个请求的python文件路径。
handlers:
- url: /.*
script: main.py
- url: /book/.*
script: book.py
Google AppEngine在匹配url pattern的时候,使用first-match优先原则。因此上面的配置中,book.py永远也不会被使用。

当然还可以使用handler处理静态内容,如javascript脚本,或是css文件等。

-url: /static
static_dir: path/to/static
static_dir标明了静态文件所在的目录。 因此如/static/main.js的请求,Google AppEngine会到/path/to/static/main.js处寻找。

- url: /flex
static_dir: /flex

以上是初学者常会犯的错误。正确的应该是

- url: /flex
static_dir: flex

评论

  1. 落叶
    13年前
    2010-11-17 12:58:48

    不懂python,Google AppEngine什么时候能支持php呢?

    • 落叶
      13年前
      2011-8-26 16:46:42

      “不懂python,Google AppEngine什么时候能支持php呢”

      我想知道这个。我一直纳闷,这一段时间,但我很高兴有人能够在我面前问。

  2. nicol
    10年前
    2013-10-25 11:07:55

    现在Google AppEngine什已经有了php,那请问app.yaml又该如何去写呢

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇