Come eseguire applicazioni Python su Apache con il modulo mod_wsgi
Mod_wsgi è un modulo Apache HTTP Server di Graham Dumpleton che fornisce un’interfaccia conforme a WSGI per l’hosting di applicazioni Web basate su Python. È scritto in codici C. Quindi ha prestazioni migliori e meno sovraccarico di memoria rispetto a mod_python o altri.
Questo tutorial ti insegnerà come eseguire script Python su Apache con il modulo mod_wsgi su Ubuntu e Centos.
Passaggio 1) Installa Apache2, Python e mod_wsgi
Installiamo prima i pacchetti apache, python e mod_wsgi su Linux.
Su Ubuntu
L’ultima versione di Ubuntu viene fornita con python installato, se si desidera installare una versione specifica, eseguire il seguente comando.
$ sudo apt install python3.7 -y
Installa apache2 su Ubuntu 18.04
$ sudo apt install apache2 apache2-utils ssl-cert
Installa mod_wsgi usando il seguente comando:
$ sudo apt-get install libapache2-mod-wsgi
Su CentOS
Su CentOS, possiamo usare il comando yum per installare i pacchetti.
Installa Apache
$ sudo yum install httpd
Il seguente comando installerà Python 3.6 su CentOS.
$ sudo yum install rh-python36
Installa mod_wsgi
# yum install mod_wsgi
Passaggio 2) Configura Apache con mod_wsgi
Modifica il file “/etc/httpd/conf/httpd.conf” e aggiungi la riga seguente nella sezione “LoadModule”:
LoadModule wsgi_module modules/mod_wsgi.so
Dopo aver aggiornato il file di configurazione, riavviare il server web apache.
Potrebbe non essere necessario modificare il file “httpd.conf” se esiste /etc/httpd/conf.d/wsgi.conf.
Passaggio 3) Creare la directory di accesso Web e il file Python
Ad esempio, crea la directory “/usr/local/wsgi/scripts” e aggiungi il file “wsgi-myapp.py”.
Il contenuto del file è il seguente:
def application(environ,start_response):
status="200 OK"
output="Hello world"
response_headers=[('Content-type','text/plain'),
('Content-Length',str(len(output)))]
start_response(status,response_headers)
return [output]
passaggio 4) Crea il file di configurazione di Apache
Crea un file chiamato “myapp.conf” e mettilo nella directory “/etc/httpd/conf.d/”. I contenuti del file sono:
Alias /myapp “/usr/local/wsgi/scripts/wsgi-myapp.py”
Options ExecCGI
SetHandler wsgi-script
Order allow,deny
Allow from all
Passaggio 5) Controllare il risultato
Ora riavvia il servizio httpd. Quindi apri Firefox e inserisci l’indirizzo “localhost/myapp”, vedrai “Hello world” nella pagina web.
Imparentato: Come configurare l’ambiente virtuale Python su Ubuntu 18.04