TurboGears - Distribuzione

Per passare da un ambiente di sviluppo a un ambiente di produzione completo, l'applicazione deve essere distribuita su un vero server web. A seconda di ciò che hai, sono disponibili diverse opzioni per distribuire un'applicazione web TurboGears.

Apache con mod_wsgi

Il mod_wsgi è un modulo Apache sviluppato da Graham Dumpleton. Consente ai programmi WSGI di essere serviti utilizzando il server web Apache.

Innanzitutto, installa Apache 2.X per la tua piattaforma, se non lo hai già fatto. Una volta installato Apache, installa mod_wsgi. Crea e attiva l'ambiente virtuale Python sul server e installa TurboGears al suo interno.

Installa la tua applicazione all'interno del direttore dell'applicazione, quindi crea uno script denominato app.wsgi.

Configurare l'installazione di Apache come segue:

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

Riavvia Apache

genere http://www.site1.com/ su un browser per accedere all'applicazione.

TurboGears sotto Circus e Chaussette

Circus è un gestore di processi e socket. Può essere utilizzato per monitorare e controllare processi e prese. Se associato al server Chaussette WSGI, può diventare un potente strumento per distribuire la tua applicazione e gestire qualsiasi processo correlato richiesto dalle tue applicazioni.

TurboGears - GoogleAppEngine

Installa Google AppEngine SDK per Python dal seguente URL: https://cloud.google.coms

Installa Google AppEngine sul tuo sistema. Quindi apri la Console per gli sviluppatori di Google e accedi con il tuo account Google -https://console.developers.google.com/start

Crea un nuovo progetto chiamato mytgapp -

Utilizzando Google AppEngine Launcher, crea una nuova applicazione denominata mytgapp.

I seguenti file verranno creati nella directory specificata:

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

Per impostazione predefinita, l'applicazione creata si basa sul framework Webapp2. Per rimuovere questa dipendenza, modifica il file app.yaml ed elimina la parte seguente:

libraries:
   - name: webapp2
   version: "2.5.2"

Crea un ambiente virtuale temporaneo in una directory denominata mytgapp e installa TurboGears. Crea un'applicazione TurboGears al suo interno. Ora possiamo procedere alla modifica del filemain.py file che viene avviato da AppEngine per eseguire la nostra applicazione e scrivere effettivamente un'applicazione TurboGears lì.

Aggiungi i seguenti contenuti in 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()

Ora esegui l'applicazione da AppEngine Launcher e fai clic sul pulsante Sfoglia per vedere che l'applicazione funziona correttamente sull'host locale.

Abbiamo già creato un progetto denominato mytgapp nella console degli sviluppatori. Ora fai clic sul pulsante di distribuzione nel programma di avvio. Al termine del processo di distribuzione,http://mytgapp.appspot.com/ visita per visualizzare la nostra applicazione online.