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.