📜  TurboGears-部署

📅  最后修改于: 2020-10-19 03:37:27             🧑  作者: Mango


为了从开发环境切换到成熟的生产环境,需要在真实的Web服务器上部署应用程序。根据您所拥有的,可以使用不同的选项来部署TurboGears Web应用程序。

使用mod_wsgi的Apache

mod_wsgi是Graham Dumpleton开发的Apache模块。它允许使用Apache Web服务器提供WSGI程序。

首先,为您的平台安装Apache 2.X(如果尚未安装)。安装Apache后,请安装mod_wsgi。在服务器上创建并激活Python虚拟环境,然后在其中安装TurboGears。

在应用程序导向器中安装应用程序,然后创建一个名为app.wsgi的脚本。

如下配置Apache安装-


   ServerName www.site1.com
   WSGIProcessGroup www.site1.com
   WSGIDaemonProcess www.site1.com user =  
      group = www-data threads = 4 python-path = 
   WSGIScriptAlias myapp/app.wsgi
    
   #Serve static files directly without TurboGears
   Alias /images
   Alias /css
   Alias /js
   CustomLog
   ErrorLog

重新启动Apache

在浏览器上键入http://www.site1.com/以访问该应用程序。

马戏团和小火车下的TurboGears

马戏团是一个进程和套接字管理器。它可以用于监视和控制进程和套接字。与Chaussette WSGI服务器配对时,它可以成为部署应用程序和管理应用程序所需的任何相关过程的强大工具。

TurboGears-GoogleAppEngine

从以下URL安装适用于Python的Google AppEngine SDK :https://cloud.google.coms

在您的系统上安装Google AppEngine。然后打开Google Developer Console并使用您的Google帐户登录-https: //console.developers.google.com/start

创建一个名为mytgapp的新项目-

Mytgapp项目

使用Google AppEngine启动器,创建一个名为mytgapp的新应用程序

新申请

Google App Engine启动器

以下文件将在指定目录中创建-

  • app.yaml
  • favicon.ico
  • index.yaml
  • main.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 "

Hello World

" config = AppConfig(minimal = True, root_controller = RootController()) app = config.make_wsgi_app()

现在从AppEngine Launcher运行该应用程序,然后单击“浏览”按钮以查看该应用程序在本地主机上的正常运行。

我们已经在开发人员控制台中创建了一个名为mytgapp的项目。现在,单击启动器中的部署按钮。部署过程结束后,请http://mytgapp.appspot.com/访问以在线查看我们的应用程序。

mytgapp appspot