Turbogears-deployment

提供:Dev Guides
移動先:案内検索

TurboGears-展開

開発環境から本格的な本番環境に切り替えるには、アプリケーションを実際の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のインストールを設定します-

<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 WSGIサーバーと組み合わせると、アプリケーションをデプロイし、アプリケーションに必要な関連プロセスを管理するための強力なツールになります。

TurboGears-GoogleAppEngine

Python用Google AppEngine SDKを次のURLからインストールします-https://cloud.google.com/appengine/downloads[https://cloud.google.coms]

システムにGoogle AppEngineをインストールします。 次に、Googleデベロッパーコンソールを開き、Googleアカウントでログインします-https://console.developers.google.com/start

*mytgapp* という新しいプロジェクトを作成します-

Mytgappプロジェクト

Google AppEngine Launcherを使用して、* mytgapp。*という名前の新しいアプリケーションを作成します

新しいアプリケーション

Google App Engine Launcher

次のファイルが指定されたディレクトリに作成されます-

  • 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 "<h1>Hello World</h1>"

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

AppEngine Launcherからアプリケーションを実行し、参照ボタンをクリックして、ローカルホストでアプリケーションが適切に動作することを確認します。

開発者コンソールでmytgappという名前のプロジェクトを既に作成しました。 ランチャーのデプロイボタンをクリックします。 展開プロセスが終了したら、* http://mytgapp.appspot.com/*にアクセスして、オンラインでアプリケーションを表示します。

mytgapp appspot