WSGI

De Cacauet Wiki
La revisió el 19:33, 12 gen 2015 per Enric (discussió | contribucions) (Es crea la pàgina amb «WSGI ('''Web Server Gateway Interface''') és una especificació per permetre els servidors web executar codi. En principi un servidor web només mostra documents HTML...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

WSGI (Web Server Gateway Interface) és una especificació per permetre els servidors web executar codi. En principi un servidor web només mostra documents HTML, i amb WSGI ampliem la seva funcionalitat. WSGI modernitza la especificació de CGI (Common Gateway Interface).


Apache i WSGI

Pel servidor web Apache disposem bàsicament de dues opcions per executar codi Python:

  • mod_python: més antic
  • mod_wsgi: més modern, és el que es fa servir més ara

Ni en l'un ni en l'altre no podrem incrustar codi enmig de HTML com fem en altres llenguatges com PHP. Caldrà fer una funció "application" que serà el punt d'entrada del script i a partir d'allà executarem el codi.


WSGI són les inicials del Web Server Gateway Interface:


Els següents links ens permetran instal·lar i configurar la primera aplicació Python per Apache, i després també com aplicar-la en un projecte Pyramid (Pylons).

  1. Instal·lar Apache i WSGI: http://code.google.com/p/modwsgi/wiki/InstallationInstructions
    En distribucions derivades de Debian podem fer directament
    # apt-get install libapache2-mod-wsgi
  2. Configurant WSGI com a WebApp: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
  3. Configurant WSGI per executar arxius .wsgi o .py directament: http://ubuntuforums.org/showthread.php?t=833766
  4. Integració de Apache WSGI i Pylons: http://code.google.com/p/modwsgi/wiki/IntegrationWithPylons
  5. Una altra web interessant sobre WSGI: http://lucumr.pocoo.org/2007/5/21/getting-started-with-wsgi/

Exercicis WSGI

Exercicis WSGI

  1. Instal·la mod_wsgi en una màquina virtual (per fer proves) i al teu AWS.
  2. Configura WSGI amb una aplicació Hello World! ubicada a /helloworld
    L'arxiu .py o .wsgi pot estar on vulguis però millor el poseu a /var/www
  3. Configura WSGI per executar arxius .py o .wsgi
    Creeu una nova aplicació que generi una web amb tags HTML enlloc d'un simple "Hello world!".
    PISTA: penseu a canviar el "Content-Type" del header de text/plain a text/html.
  4. Agafa l'aplicació WSGI Hello World! vista aquí i llista totes les variables d'entorn.
    PISTA: la variable environ que apareix a la funció és un diccionari amb totes les variables d'entorn.
  5. Exercici optatiu: intenta descodificar els paràmetres GET que ens arriben en la variable QUERY_STRING.
    PISTA: utilitza les funcions parse_qs i escape (de la CGI lib) que es poden veure a aquest exemple ("Extended Hello World").


Referències vàries

WSGI sol utiltizar-se típicament en frameworks Python com Django, Pylons, Pyramid i servidors web com Gunicorn.