Cómo ejecutar Python Scripts con Apache y mod_wsgi en Ubuntu 20.04

apache mod_wsgi

mod_wsgi es un módulo de Apache que proporciona una interfaz para alojar aplicaciones web basadas en Python bajo Apache. Es adecuado para su uso en el alojamiento de sitios web de producción de alto rendimiento, así como para sus sitios personales autogestionados promedio que se ejecutan en servicios de alojamiento web. Puede implementar fácilmente aplicaciones escritas con marcos y herramientas como Django, Web.py, Werkzug, Chery.py, TurboGears y Flask usando mod_wsgi.

En este tutorial, aprenderemos cómo instalar y configurar mod_wsgi con el servidor Apache en el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contrase√Īa de root en el servidor.

Empezando

Antes de comenzar, es una buena idea actualizar su sistema con la √ļltima versi√≥n. Puede actualizar su sistema con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Después de actualizar el sistema, reinícielo para implementar los cambios.

Instalar Python

De forma predeterminada, Python viene preinstalado en el servidor Ubuntu 20.04. Si no est√° instalado, puede instalarlo con el siguiente comando:

apt-get install python3 libexpat1 -y

Una vez completada la instalación, puede continuar con el siguiente paso.

Instale Apache y mod_wsgi

A continuación, deberá instalar el servidor web Apache y el módulo Python mod_wsgi en su sistema. Puede instalarlos ejecutando el siguiente comando:

apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y

Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Configurar Apache para mod_wsgi

A continuación, debe crear un nuevo script de Python dentro del directorio raíz web predeterminado de Apache y servirlo a través del módulo mod_wsgi de Apache.

Puedes crearlo con el siguiente comando:

nano /var/www/html/wsgy.py

Agregue las siguientes líneas:

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]

Guarde y cierre el archivo. Luego, cambie la propiedad del archivo a www-data con el siguiente comando:

chown www-data:www-data /var/www/html/wsgy.py

A continuación, cree un archivo de configuración de host virtual de Apache para servir este archivo a través del protocolo HTTP.

nano /etc/apache2/conf-available/wsgi.conf

Agregue la siguiente línea:

WSGIScriptAlias /wsgi /var/www/html/wsgy.py

Guarde y cierre el archivo. Luego, habilite la configuración de mod-wsgi y reinicie el servicio de Apache con el siguiente comando:

a2enconf wsgi
systemctl restart apache2

Prueba mod-wsgi

En este punto, el servidor web Apache está configurado para servir su archivo Python a través del protocolo HTTP.

Para probarlo, abra su navegador web y escriba la URL http://your-server-ip/wsgi. Debería ver la página de prueba mod-wsgi en la siguiente pantalla:

apache mod_wsgi

Conclusión

¡Felicidades! Ha implementado con éxito el script Python en el servidor web Apache utilizando el módulo mod_wsgi en el servidor Ubuntu 20.04. Espero que ahora pueda implementar fácilmente cualquier aplicación de Python con Apache y mod_wsgi en el entorno de producción.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *