IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Google App Engine的app.yaml详细说明

平凡的世界 2010-11-17 19:12:10 累计浏览 3,039 次
本机暂存

    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. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. Bash的模式和配置文件加载 (累计阅读 24,406)
  2. ZooKeeper管理员指南——部署与管理ZooKeeper (累计阅读 6,586)
  3. 让虚拟主机也用上SVN:适用于个人的开发部署方式 (累计阅读 4,784)
  4. 在dotcloud上部署Django全程记录 (累计阅读 4,401)
  5. Hadoop安装端口已经被占用问题的解决方法 (累计阅读 3,954)
  6. 序列化格式YAML初探 (累计阅读 3,177)
  7. 小公司,大影响 (累计阅读 3,039)
  8. 用YAML构建数据测试DAO层 (累计阅读 2,930)
  9. 修改/重置mysql root密码 (累计阅读 2,881)
  10. 限制用户通过SSH登录系统 (累计阅读 2,729)