Cómo ejecutar aplicaciones de Python en Apache con el módulo mod_wsgi
Mod_wsgi es un módulo de servidor HTTP Apache de Graham Dumpleton que proporciona una interfaz compatible con WSGI para alojar aplicaciones web basadas en Python. Está escrito en códigos C. Por lo tanto, tiene un mejor rendimiento y una sobrecarga de memoria más baja que mod_python u otros.
Este tutorial le enseñará cómo ejecutar scripts de Python en Apache con el módulo mod_wsgi en Ubuntu y Centos.
Paso 1) Instale Apache2, Python y mod_wsgi
Primero instalemos los paquetes apache, python y mod_wsgi en Linux.
En Ubuntu
La última versión de Ubuntu viene con Python instalado, si desea instalar una versión específica, ejecute el siguiente comando.
$ sudo apt install python3.7 -y
Instale apache2 en ubuntu 18.04
$ sudo apt install apache2 apache2-utils ssl-cert
Instale mod_wsgi usando el siguiente comando:
$ sudo apt-get install libapache2-mod-wsgi
En CentOS
En CentOS, podemos usar el comando yum para instalar paquetes.
Instalar Apache
$ sudo yum install httpd
El siguiente comando instalará python 3.6 en CentOS.
$ sudo yum install rh-python36
Instalar mod_wsgi
# yum install mod_wsgi
Paso 2) Configurar Apache con mod_wsgi
Modifique el archivo ‘/etc/httpd/conf/httpd.conf’ y agregue la siguiente línea en la sección ‘LoadModule’:
LoadModule wsgi_module modules/mod_wsgi.so
Después de actualizar el archivo de configuración, reinicie el servidor web Apache.
Tal vez no necesite modificar el archivo ‘httpd.conf’, si existe /etc/httpd/conf.d/wsgi.conf.
Paso 3) Cree el directorio de acceso web y el archivo Python
Por ejemplo, cree el directorio ‘/ usr / local / wsgi / scripts’ y agregue el archivo ‘wsgi-myapp.py’ en él.
El contenido del archivo es el siguiente:
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]
paso 4) Cree el archivo conf de Apache
Cree un archivo llamado ‘myapp.conf’ y colóquelo en el directorio ‘/etc/httpd/conf.d/’. El contenido del archivo es:
Alias /myapp “/usr/local/wsgi/scripts/wsgi-myapp.py” Options ExecCGI SetHandler wsgi-script Order allow,deny Allow from all
Paso 5) Verifique el resultado
Ahora reinicie el servicio httpd. Luego abra Firefox e ingrese la dirección ‘localhost / myapp’, verá ‘Hola mundo’ en la página web.
Relacionado: Cómo configurar el entorno virtual de Python en Ubuntu 18.04