python部署Google App Engine应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Python应用程序配置PythonAppEngine应用程序必须具有名为app.yaml的配置文件,用来指定网址路径如何与请求处理程序和静态文件对应。它还包含关于应用程序代码的信息(如应用程序ID和最新版本的标识符)。关于app.yaml必需的元素脚本处理程序静态文件处理程序静态目录的处理程序静态文件格式的处理程序内置的处理程序包括安全网址用户和管理员登录跳过文件参考Python库目录保留的网址入站服务Python预编译管理控制台自定义页自定义错误响应关于app.yamlPython应用程序在名为app.yaml的文件中指定运行时配置(包括版本和网址)。以下是app.yaml文件的示例:application:myappversion:1runtime:pythonapi_version:1handlers:-url:/script:home.py-url:/index\.htmlscript:home.py-url:/stylesheetsstatic_dir:stylesheets-url:/(.*\.(gif|png|jpg))static_files:static/\1upload:static/(.*\.(gif|png|jpg))-url:/admin/.*script:admin.pylogin:admin-url:/.*script:not_found.pyapp.yaml的语法为YAML格式。有关该语法的详细信息,请参阅YAML网站。提示:YAML格式支持注释。以井号(#)字符开头的行会被忽略:#Thisisacomment.网址和文件路径格式使用POSIX扩展的正则表达式语法,但排序元素和排序规则类除外。支持对分组匹配项的反向引用(例如1),正如支持以下Perl扩展名一样:wWsSdD(这类似于Codesite搜索,增加了反向引用支持)。所需的元素app.yaml文件必须包含下面的各个元素之一:application应用程序标识符。这是在管理控制台中创建应用程序时选定的标识符。application:myappversion应用程序代码的版本说明符。AppEngine保留所使用的每个应用程序版本的副本。管理员可以使用管理控制台更改应用程序的默认主要版本,并可在使非默认版本成为默认版本之前对其进行测试。版本说明符可以包含字母、数字和连字符。应用程序的每个版本都保留自己的app.yaml副本。在上传应用程序时,要上传的app.yaml文件中提到的版本就是上传操作所创建或替换的版本。version:2-0-testruntime该应用程序使用的AppEngine运行时环境的名称。要指定Python,请使用python。可以使用其他运行时;请参阅运行时文档以了解详细信息。其他JVM语言可以根据指定运行时自定义app.yaml。runtime:javahandlers网址格式列表及其处理方式说明。AppEngine可以通过执行应用程序代码,或通过提供与代码一起上传的静态文件(例如图片、CSS或JavaScript)来处理网址。根据格式在app.yaml中的显示顺序从上到下对其进行评估。格式与网址匹配的第一个映射将用于处理请求。处理程序有两种:脚本处理程序和静态文件处理程序。脚本处理程序在应用程序中运行Python脚本以确定指定网址的响应。静态文件处理程序返回文件的内容(例如图片)作为响应。有关该值的详细信息,请参阅下面的脚本处理程序和静态文件处理程序。handlers:-url:/imagesstatic_dir:static/images-url:/.*script:myapp.pyapi_version该应用程序在指定运行时环境中使用的API的版本。当Google发布运行时环境API的新版本时,您的应用程序会继续使用针对该应用程序编写的API。要将您的应用程序升级到新API,请更改该值并上传已升级的代码。此时,AppEngine有一个python运行时环境的版本:1api_version:1脚本处理程序脚本处理程序执行Python脚本以处理与网址格式匹配的请求。映射定义要匹配的网址格式和要执行的脚本。url网址格式,作为正则表达式。表达式可以通过正则表达式反向引用包含可在脚本的文件路径中参考的分组。例如,/profile/(.*?)/(.*)可能与网址/profile/edit/manager匹配,并使用edit和manager作为第一个和第二个分组。handlers:-url:/profile/(.*?)/(.*)script:/employee/\2/\1.pyscript脚本的路径,从应用程序根目录开始。如以上示例所示,对于edit和manager分组,脚本路径/employee/2/1.py使用完整路径/employee/manager/edit.py。以下示例将网址映射到脚本:handlers:#TherootURL(/)ishandledbytheindex.pyscript.NootherURLsmatchthispattern.-url:/script:index.py#TheURL/index.htmlisalsohandledbytheindex.pyscript.-url:/index\.htmlscript:index.py#AregularexpressioncanmappartsoftheURLtothefilepathofthescript.-url:/browse/(books|videos|tools)script:\1/catalog.py#AllotherURLsusethenot_found.pyscript.-url:/.*script:not_found.py静态文件处理程序静态文件是直接向指定网址的用户提供的文件,例如图片、CSS样式表或JavaScript源文件。静态文件处理程序说明了应用程序目录中的哪些文件为静态文件,以及为哪些网址提供静态文件。为了提高效率,AppEngine将应用程序文件与静态文件单独存储和提供。静态文件在应用程序的文件系统中不可用。如果您有需要由应用程序代码读取的数据文件,则数据文件必须为应用程序文件,且不得与静态文件格式匹配。除非另有通知,否则网络浏览器会将从网站上载入的文件保留有限的一段时间。您可以通过包括default_expiration元素(一个顶级元素),为应用程序的所有静态文件处理程序定义全局默认缓存期间。您还可以为特定静态文件处理程序配置缓存持续时间。(脚本处理程序可以通过向浏览器返回相应的HTTP标头来设置缓存持续时间。)default_expiration如果处理程序没有指定自己的expiration,则静态文件处理程序提供的静态文件的时间长度应缓存在用户的浏览器中。值是一串数字和单位,由空格分隔,其中单位可以用d代表天、h代表小时、m代表分钟、s代表秒。例如,4d5h将缓存到期时间设置为从浏览器首次载入文件开始算起的4天5小时。default_expiration为可选项。如果被忽略,则默认行为是允许浏览器确定其自身的缓存持续时间。例如:application:myappversion:1runtime:pythonapi_version:1default_expiration:4d5hhandlers:#...可以用两种方式定义静态文件处理程序:作为映射到网址路径的静态文件目录结构,或作为将网址映射到特定文件的格式。静态目录的处理程序使用静态目录处理程序,可以轻松地将目录的全部内容作为静态文件来提供。除非被目录的mime_type设置覆盖,否则每个文件都使用与其文件扩展名对应的MIME类型提供。指定目录中的所有文件会作为静态文件上传,其中没有文件可以作为脚本运行。url网址前缀。该值使用正则表达式语法(因此必须对regexp特殊字符进行转义),但它不应该包含分组。所有以该前缀开头的网址都由该处理程序处理,将前缀后面的部分网址用作文件路径的一部分。static_dir包含静态文件的目录的路径,从应用程序根目录开始。匹配的url格式末尾的所有内容附加到static_dir,以此形成指向请求的文件的完整路径。该目录中的所有文件都由应用程序作为静态文件上传。mime_type可选。如果指定,将使用指定的MIME类型提供该处理程序提供的所有文件。如果未指定,文件的MIME类型将取自该文件的文件扩展名。有关可能的MIME媒体类型的详细信息,请参阅IANAMIME媒体类型网站。expiration该处理程序提供静态文件的时间长度应缓存在用户的浏览器中。值是一串数字和单位,由空格分隔,其中单位可以用d代表天、h代表小时、m代表分钟、s代表秒。例如,4d5h将缓存到期时间设置为从浏览器首次载入文件开始算起的4天5小时。expiration为可选项。如果被忽略,则使用该应用程序的default_expiration。例如:handlers:#AllURLsbeginningwith/stylesheetsaretreatedaspathstostaticfilesin#thestylesheets/directory.Notethatstatic_dirhandlersdonotusea#regularexpressionfortheURLpattern,onlyaprefix.-url:/stylesheetsstatic_dir:stylesheets静态文件格式处理程序静态文件处理程序将网址格式与使用应用程序上传的静态文件的路径相关联。网址格式正则表达式可以定义在文件路径的结构中使用的正则表达式分组。您可以使用它而非static_dir来映射到目录结构中的特定文件,而不是映射整个目录。静态文件不能与应用程序代码文件相同。如果静态文件路径与动态处理程序中使用的脚本的路径匹配,则该动态处理程序将无法使用此脚本。以下static_dir和static_files处理程序等效:-url:/imagesstatic_dir:static/images-url:/images/(.*)static_files:static/images/\1upload:static/images/(.*)url网址格式,作为正则表达式。表达式可以通过正则表达式反向引用包含可在脚本的文件路径中参考的分组。例如,/item-(.*?)/category-(.*)可能与网址/item-127/category-fruit匹配,并使用127和fruit作为第一个和第二个分组。handlers:-url:/item-(.*?)/category-(.*)static_files:archives/\2/items/\1static_files与网址格式匹配的静态文件的路径,从应用程序根目录开始。路径可以参考网址格式的分组中匹配的文本。如以上示例所示,archives/2/items/1分别在2和1位置插入匹配的第二个和第一个分组。采用以上示例中的格式,文件路径应当为archives/fruit/items/127。upload与该处理程序将引用的所有文件的文件路径匹配的正则表达式。该表达式是必需的,因为处理程序无法确定您的应用程序目录中哪些文件与指定的url和static_files格式相对应。将对静态文件与应用程序文件单独进行上传和处理。以上示例可能使用以下upload格式:archives/(.*?)/items/(.*)mime_type可选。如果指定,将使用指定的MIME类型提供该处理程序提供的所有文件。如果未指定,文件的MIME类型将取自该文件的文件扩展名。有关可能的MIME媒体类型的详细信息,请参阅IANAMIME媒体类型网站。expiration该处理程序提供静态文件的时间长度应缓存在用户的浏览器中。值是一串数字和单位,由空格分隔,其中单位可以用d代表天、h代表小时、m代表分钟、s代表秒。例如,4d5

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功