TurboGears - wdrożenie

Aby przełączyć się ze środowiska programistycznego na pełnoprawne środowisko produkcyjne, aplikacja musi zostać wdrożona na prawdziwym serwerze WWW. W zależności od tego, co masz, dostępne są różne opcje wdrażania aplikacji internetowej TurboGears.

Apache z mod_wsgi

Mod_wsgi to moduł Apache opracowany przez Grahama Dumpletona. Umożliwia obsługę programów WSGI przy użyciu serwera WWW Apache.

Po pierwsze, zainstaluj Apache 2.X na swojej platformie, jeśli jeszcze tego nie zrobiłeś. Po zainstalowaniu Apache zainstaluj mod_wsgi. Utwórz i aktywuj wirtualne środowisko Python na serwerze i zainstaluj w nim TurboGears.

Zainstaluj aplikację w aplikacji Director, a następnie utwórz skrypt o nazwie app.wsgi.

Skonfiguruj instalację Apache w następujący sposób -

<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>

Uruchom ponownie Apache

Rodzaj http://www.site1.com/ w przeglądarce, aby uzyskać dostęp do aplikacji.

TurboGears pod Circus i Chaussette

Circus to menedżer procesów i gniazd. Może być używany do monitorowania i sterowania procesami i gniazdami. W połączeniu z serwerem Chaussette WSGI może stać się potężnym narzędziem do wdrażania aplikacji i zarządzania dowolnym powiązanym procesem, którego potrzebują.

TurboGears - GoogleAppEngine

Zainstaluj pakiet Google AppEngine SDK dla języka Python z następującego adresu URL - https://cloud.google.coms

Zainstaluj Google AppEngine w swoim systemie. Następnie otwórz Google Developer Console i zaloguj się na swoje konto Google -https://console.developers.google.com/start

Utwórz nowy projekt o nazwie mytgapp -

Korzystając z programu Google AppEngine Launcher, utwórz nową aplikację o nazwie mytgapp.

W określonym katalogu zostaną utworzone następujące pliki -

  • app.yaml
  • favicon.ico
  • index.yaml
  • main.py

Domyślnie tworzona aplikacja opiera się na frameworku Webapp2. Aby usunąć tę zależność, edytuj plik app.yaml i usuń następującą część -

libraries:
   - name: webapp2
   version: "2.5.2"

Utwórz tymczasowe środowisko wirtualne w katalogu o nazwie mytgapp i zainstaluj TurboGears. Utwórz w nim aplikację TurboGears. Teraz możemy kontynuować edycję plikumain.py plik uruchamiany przez AppEngine w celu uruchomienia naszej aplikacji i napisania tam aplikacji TurboGears.

Dodaj następującą zawartość w 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()

Teraz uruchom aplikację z AppEngine Launcher i kliknij przycisk przeglądania, aby zobaczyć, że aplikacja działa poprawnie na hoście lokalnym.

Stworzyliśmy już projekt o nazwie mytgapp w konsoli programisty. Teraz kliknij przycisk wdrażania w programie uruchamiającym. Po zakończeniu procesu wdrażaniahttp://mytgapp.appspot.com/ odwiedź, aby zobaczyć naszą aplikację online.