mod_wsgi è un modulo Apache che può essere utilizzato per servire script Python su HTTP tramite il server web Apache. Puoi facilmente distribuire applicazioni scritte con framework e strumenti come Django, Web.py, Werkzug, Chery.py, TurboGears e Flask usando mod_wsgi.
In questo tutorial impareremo come installare e configurare mod_wsgi con il server Apache sul server Ubuntu 18.04 LTS (Bionic Beaver).
Requisiti
- Un server che esegue il server Ubuntu 18.04.
- Un utente non root con privilegi sudo.
- Un indirizzo IP statico 192.168.43.229 da configurare sul tuo server.
Installa Apache e mod_wsgi
Prima di iniziare, dovrai installare alcuni pacchetti richiesti sul tuo sistema.
Puoi installarli tutti eseguendo il seguente comando:
sudo apt-get install python libexpat1 apache2 apache2-utils ssl-cert -y
Una volta installati tutti i pacchetti richiesti, puoi procedere all'installazione di mod_wsgi con il seguente comando:
sudo apt-get install libapache2-mod-wsgi -y
Configura Apache per mod_wsgi
Successivamente, dovrai creare uno script python all'interno della directory root web di Apache da utilizzare tramite il modulo mod_wsgi Apache.
Puoi farlo con il seguente comando:
sudo nano /var/www/html/wsgy.py
Aggiungi le seguenti righe:
def application(environ,start_response): status = '200 OK' html = '<html>\n' \ '<body>\n' \ '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \ 'Welcome to mod_wsgi Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' response_header = [('Content-type','text/html')] start_response(status,response_header) return [html]
Salva e chiudi il file. Quindi, dai le autorizzazioni appropriate al file wsgi.py:
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
Successivamente, dovrai configurare Apache per servire questo file tramite il protocollo HTTP. Puoi farlo creando il file wsgi.conf:
sudo nano /etc/apache2/conf-available/wsgi.conf
Aggiungi le seguenti righe:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Salva e chiudi il file. Quindi, dai le autorizzazioni appropriate al file wsgi.py:
Quindi, abilita la configurazione mod-wsgi e riavvia il servizio Apache con il seguente comando:
sudo a2enconf wsgi
sudo systemctl restart apache2
Testare gli script Python in Apache con mod-wsgi
Ora apri il tuo browser web e digita l'URL http://example.com/wsgi. Verrai reindirizzato alla seguente pagina:
Link
- Server web Apache
- mod_wsgi
- Ubuntu