mod_wsgi – Esempio ‘Hello World’

Il modulo mod_wsgi serve per ospitare applicazioni web basate su Python sotto Apache.

Questo breve articolo descrive come creare un’applicazione WSGI di base ed eseguirla su Apache usando mod_wsgi.

Di seguito troverai come creare un host virtuale in Apache e pubblicare una semplice applicazione WSGI che stampi solo “Hello World!”.

Suppongo che tu abbia già installato Apache e abilitato il modulo WSGI.

Crea 2 directory:

# mkdir -p /usr/local/www/{documents,wsgi-scripts}
Directory Purpose
/usr/local/www/documents For storing static files (DocumentRoot)
/usr/local/www/wsgi-scripts For storing WSGI applications

Perdita del codice sorgente! Il file di script dell’applicazione WSGI NON DEVE essere collocato all’interno del DocumentRoot esistente, altrimenti il codice sorgente dell’applicazione potrebbe essere scaricato da chiunque.

Creare una configurazione di host virtuale in Apache:

<VirtualHost *:80>
    ServerName example.com

    DocumentRoot /usr/local/www/documents
    <Directory /usr/local/www/documents>
    Order allow,deny
    Allow from all
    </Directory>

    WSGIScriptAlias /myapp /usr/local/www/wsgi-scripts/myapp.wsgi
    <Directory /usr/local/www/wsgi-scripts>
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

A seconda della distribuzione, salvarla su /etc/httpd/conf.d/example.com.conf se si utilizza CentOS, RHEL ecc. O su /etc/apache2/conf.d/example.com.conf per Debian, Ubuntu, ecc.

Nel file di configurazione dell’host virtuale con la direttiva WSGIScriptAlias definiamo che le richieste per http://example.com/myapp farebbero sì che il server esegua la nostra applicazione WSGI /usr/local/www/wsgi-scripts/myapp.wsgi.

Crea uno script di applicazione WSGI semplicissimo myapp.wsgi che restituisce il codice di stato HTTP 200 OK e stampa “Hello World!”:

Salvalo in /usr/local/www/wsgi-scripts/myapp.wsgi file.

Esegui uno dei seguenti comandi, per ricaricare Apache e applicare le modifiche.

Su CentOS, RHEL ecc .:

# service httpd reload

Su Debian, Ubuntu ecc .:

# service apache2 reload

Inserisci esempio.com nel file hosts sul tuo server web:

# cat /etc/hosts
127.0.0.1   localhost example.com

Ora puoi usare curl per chiamare la tua applicazione WSGI direttamente dalla riga di comando dei web server:

# curl http://example.com/myapp
Hello World!

Oppure puoi puntare esempio.com all’indirizzo IP dei tuoi server web nel tuo file hosts locale e aprire la tua applicazione WSGI da un browser web seguendo http://example.com/myapp.

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.