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.