Ricerca nel sito web

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

  1. Prerequisiti
  2. Per iniziare
  3. Installa Python
  4. Installa Apache e mod_wsgi
  5. Configura Apache per mod_wsgi
  6. Prova mod-wsgi
  7. 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.