- 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 - CRUD 操作
- TurboGears - 数据网格
- TurboGears - 分页
- TurboGears - 管理员访问
- 授权与身份验证
- TurboGears - 使用 MongoDB
- TurboGears - 脚手架
- TurboGears - 钩子
- TurboGears - 编写扩展
- TurboGears - 可插拔应用程序
- TurboGears - RESTful 应用程序
- 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>
重启 Apache
在浏览器中输入 **http://www.site1.com/** 以访问应用程序。
Circus 和 Chaussette 下的 TurboGears
Circus 是一个进程和套接字管理器。它可用于监控和控制进程和套接字。当与 Chaussette WSGI 服务器配对时,它可以成为部署应用程序和管理应用程序所需任何相关进程的强大工具。
TurboGears - Google App Engine
从以下网址安装适用于 Python 的 Google App Engine SDK - https://cloud.google.coms
在您的系统上安装 Google App Engine。然后打开 Google Developers Console 并使用您的 Google 帐户登录 - https://console.developers.google.com/start
创建一个名为 **mytgapp** 的新项目 -
使用 Google App Engine Launcher 创建一个名为 **mytgapp** 的新应用程序。
以下文件将在指定的目录中创建 -
- app.yaml
- favicon.ico
- index.yaml
- main.py
默认情况下,创建的应用程序依赖于 Webapp2 框架。要删除此依赖项,请编辑 app.yaml 文件并删除以下部分 -
libraries: - name: webapp2 version: "2.5.2"
在名为 mytgapp 的目录中创建一个临时的虚拟环境,并安装 TurboGears。在其中创建一个 TurboGears 应用程序。现在我们可以继续编辑由 App Engine 启动以运行我们的应用程序的 **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()
现在从 App Engine Launcher 运行应用程序,然后单击“浏览”按钮以查看该应用程序在本地主机上是否正常运行。
我们已经在开发者控制台中创建了一个名为 mytgapp 的项目。现在单击启动器中的“部署”按钮。部署过程结束后,访问 **http://mytgapp.appspot.com/** 以查看我们的在线应用程序。