- TurboGears 教程
- TurboGears - 主页
- TurboGears - 概述
- TurboGears - 环境
- TurboGears - 第一个程序
- TurboGears - 依赖关系
- TurboGears - 服务模板
- TurboGears - HTTP 方法
- Genshi模板语言
- TurboGears - 包括
- TurboGears - JSON 渲染
- TurboGears - URL 层次结构
- TurboGears - Toscawidgets 表格
- TurboGears - 验证
- TurboGears - 闪讯
- TurboGears - Cookie 和会话
- TurboGears - 缓存
- TurboGears - Sqlalchemy
- TurboGears - 创建模型
- TurboGears - 原油操作
- TurboGears - 数据网格
- TurboGears - 分页
- TurboGears - 管理员访问
- 授权与认证
- TurboGears - 使用 MongoDB
- TurboGears - 脚手架
- TurboGears - 挂钩
- TurboGears - 编写扩展
- TurboGears - 可插拔应用
- TurboGears - 安静的应用程序
- TurboGears - 部署
- TurboGears 有用资源
- TurboGears - 快速指南
- TurboGears - 有用的资源
- TurboGears - 讨论
TurboGears - 部署
要从开发环境切换到成熟的生产环境,需要将应用程序部署在真实的 Web 服务器上。根据您的情况,可以使用不同的选项来部署 TurboGears Web 应用程序。
Apache 与 mod_wsgi
mod_wsgi 是由 Graham Dumpleton 开发的 Apache 模块。它允许使用 Apache Web 服务器来提供 WSGI 程序。
首先,为您的平台安装 Apache 2.X(如果尚未安装)。安装 Apache 后,安装 mod_wsgi。在服务器上创建并激活Python虚拟环境,并在其中安装TurboGears。
在应用程序控制器中安装您的应用程序,然后创建一个名为app.wsgi的脚本。
配置 Apache 安装如下 -
<VirtualHost *:80> ServerName www.site1.com WSGIProcessGroup www.site1.com WSGIDaemonProcess www.site1.com user = <username> group = www-data threads = 4 python-path = <pythonpath> WSGIScriptAlias myapp/app.wsgi #Serve static files directly without TurboGears Alias /images Alias /css Alias /js CustomLog ErrorLog </VirtualHost>
重新启动阿帕奇
在浏览器中输入http://www.site1.com/以访问该应用程序。
Circus 和 Chaussette 旗下的 TurboGears
Circus 是一个进程和套接字管理器。它可用于监视和控制进程和套接字。当与 Chaussette WSGI 服务器配合使用时,它可以成为部署应用程序和管理应用程序所需的任何相关流程的强大工具。
TurboGears - GoogleAppEngine
从以下 URL 安装 Google AppEngine SDK for Python - https://cloud.google.coms
在您的系统上安装 Google AppEngine。然后打开 Google 开发者控制台并使用您的 Google 帐户登录 - https://console.developers.google.com/start
创建一个名为mytgapp的新项目-
使用 Google AppEngine Launcher 创建一个名为mytgapp 的新应用程序。
将在指定目录中创建以下文件 -
- 应用程序.yaml
- 图标.ico
- 索引.yaml
- 主要.py
默认情况下,创建的应用程序依赖于Webapp2框架。要删除此依赖项,请编辑 app.yaml 文件并删除以下部分 -
libraries: - name: webapp2 version: "2.5.2"
在名为 mytgapp 的目录中创建临时虚拟环境并安装 TurboGears。在其中创建 TurboGears 应用程序。现在我们可以继续编辑由 AppEngine 启动的main.py文件来运行我们的应用程序,并在其中实际编写 TurboGears 应用程序。
在main.py中添加以下内容-
import os import site site.addsitedir(os.path.join(os.path.dirname(__file__), 'packages')) from tg import expose, TGController, AppConfig class RootController(TGController): @expose() def index(self): return "<h1>Hello World</h1>" config = AppConfig(minimal = True, root_controller = RootController()) app = config.make_wsgi_app()
现在从 AppEngine Launcher 运行应用程序,然后单击浏览按钮以查看应用程序在本地主机上正常运行。
我们已经在开发者控制台中创建了一个名为 mytgapp 的项目。现在单击启动器中的部署按钮。部署过程结束后,访问http://mytgapp.appspot.com/在线查看我们的应用程序。