TurboGears - Déploiement

Pour passer d'un environnement de développement à un environnement de production à part entière, l'application doit être déployée sur un vrai serveur Web. Selon ce dont vous disposez, différentes options sont disponibles pour déployer une application Web TurboGears.

Apache avec mod_wsgi

Le mod_wsgi est un module Apache développé par Graham Dumpleton. Il permet aux programmes WSGI d'être servis à l'aide du serveur Web Apache.

Tout d'abord, installez Apache 2.X pour votre plate-forme, si ce n'est déjà fait. Une fois Apache installé, installez mod_wsgi. Créez et activez l'environnement virtuel Python sur le serveur et installez-y TurboGears.

Installez votre application dans le directeur d'application, puis créez un script nommé app.wsgi.

Configurez l'installation d'Apache comme suit -

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

Redémarrez Apache

Type http://www.site1.com/ sur un navigateur pour accéder à l'application.

TurboGears sous Cirque et Chaussette

Circus est un gestionnaire de processus et de socket. Il peut être utilisé pour surveiller et contrôler les processus et les sockets. Associé au serveur WSGI Chaussette, il peut devenir un outil puissant pour déployer votre application et gérer tout processus connexe dont vos applications ont besoin.

TurboGears - GoogleAppEngine

Installez le SDK Google AppEngine pour Python à partir de l'URL suivante - https://cloud.google.coms

Installez Google AppEngine sur votre système. Ensuite, ouvrez la console Google Developer et connectez-vous avec votre compte Google -https://console.developers.google.com/start

Créez un nouveau projet appelé mytgapp -

À l'aide de Google AppEngine Launcher, créez une nouvelle application nommée mytgapp.

Les fichiers suivants seront créés dans le répertoire spécifié -

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

Par défaut, l'application créée repose sur le framework Webapp2. Pour supprimer cette dépendance, modifiez le fichier app.yaml et supprimez la partie suivante -

libraries:
   - name: webapp2
   version: "2.5.2"

Créez un environnement virtuel temporaire dans un répertoire nommé mytgapp et installez TurboGears. Créez-y une application TurboGears. Nous pouvons maintenant procéder à l'édition dumain.py qui est démarré par AppEngine pour exécuter notre application et y écrire une application TurboGears.

Ajoutez le contenu suivant dans 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()

Maintenant, exécutez l'application à partir du lanceur AppEngine et cliquez sur le bouton Parcourir pour voir que l'application fonctionne correctement sur l'hôte local.

Nous avons déjà créé un projet nommé mytgapp dans la console développeur. Cliquez maintenant sur le bouton de déploiement dans le lanceur. Une fois le processus de déploiement terminé,http://mytgapp.appspot.com/ visitez pour voir notre application en ligne.