Come eseguire script Python con Apache e mod_wsgi su Ubuntu 20.04
Questo tutorial esiste per queste versioni del sistema operativo
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa Python
- Installa Apache e mod_wsgi
- Configura Apache per mod_wsgi
- Prova mod-wsgi
- Conclusione
mod_wsgi è un modulo Apache che fornisce un'interfaccia per l'hosting di applicazioni Web basate su Python in Apache. È adatto per l'uso nell'hosting di siti Web di produzione ad alte prestazioni, nonché per i siti personali autogestiti medi in esecuzione su servizi di web hosting. Puoi distribuire facilmente applicazioni scritte con framework e strumenti come Django, Web.py, Werkzug, Chery.py, TurboGears e Flask utilizzando mod_wsgi.
In questo tutorial impareremo come installare e configurare mod_wsgi con il server Apache sul server Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Il server è configurato con una password di root.
Iniziare
Prima di iniziare, è una buona idea aggiornare il sistema con l'ultima versione. Puoi aggiornare il tuo sistema con il seguente comando:
apt-get update -y
apt-get upgrade -y
Dopo aver aggiornato il sistema, riavviarlo per implementare le modifiche.
Installa Python
Per impostazione predefinita, Python è preinstallato nel server Ubuntu 20.04. Se non è installato, puoi installarlo con il seguente comando:
apt-get install python3 libexpat1 -y
Una volta completata l'installazione, è possibile procedere al passaggio successivo.
Installa Apache e mod_wsgi
Successivamente, dovrai installare il server Web Apache e il modulo Python mod_wsgi sul tuo sistema. Puoi installarli eseguendo il seguente comando:
apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Configura Apache per mod_wsgi
Successivamente, è necessario creare un nuovo script Python all'interno della directory principale Web predefinita di Apache e servirlo tramite il modulo Apache mod_wsgi.
Puoi crearlo con il seguente comando:
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, modifica la proprietà del file in www-data con il seguente comando:
chown www-data:www-data /var/www/html/wsgy.py
Successivamente, crea un file di configurazione dell'host virtuale Apache per servire questo file tramite il protocollo HTTP.
nano /etc/apache2/conf-available/wsgi.conf
Aggiungi la seguente riga:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Salva e chiudi il file. Quindi, abilita la configurazione mod-wsgi e riavvia il servizio Apache con il seguente comando:
a2enconf wsgi
systemctl restart apache2
Testare mod-wsgi
A questo punto, il server Web Apache è configurato per servire il tuo file Python tramite protocollo HTTP.
Per testarlo, apri il tuo browser web e digita l'URL http://your-server-ip/wsgi. Dovresti vedere la pagina di test mod-wsgi nella seguente schermata:
Conclusione
Congratulazioni! hai distribuito correttamente lo script Python sul server Web Apache utilizzando il modulo mod_wsgi sul server Ubuntu 20.04. Spero che ora tu possa facilmente distribuire qualsiasi applicazione Python con Apache e mod_wsgi nell'ambiente di produzione.