En la era digital actual, la ejecución eficiente de scripts Python en servidores web es crucial para el desarrollo y la implementación de aplicaciones web dinámicas. Apache, siendo uno de los servidores web más populares y robustos, combinado con el módulo mod_wsgi, proporciona una plataforma sólida para desplegar aplicaciones Python. Este artículo está diseñado para guiar a los recién llegados a través del proceso de configuración de Apache y mod_wsgi en Ubuntu 22.04, facilitando una ejecución mejorada de scripts Python.
Preparativos Iniciales
Antes de sumergirnos en la instalación y configuración, es esencial preparar su sistema Ubuntu 22.04. Asegúrese de que su sistema esté actualizado con los siguientes comandos:
sudo apt update
sudo apt upgrade
Instalación de Apache
Apache es un servidor web gratuito y de código abierto que es ampliamente utilizado para servir sitios web. Puede instalar Apache en Ubuntu 22.04 con el siguiente comando:
sudo apt install apache2
Después de la instalación, compruebe que Apache está funcionando correctamente accediendo a http://localhost
o http://<su-dirección-IP>
desde su navegador web. Debería ver la página predeterminada de Apache.
Instalación de mod_wsgi
mod_wsgi es un módulo de Apache que proporciona una interfaz compatible con WSGI para alojar aplicaciones Python. Para instalar mod_wsgi y habilitar el soporte de Python en Apache, ejecute:
sudo apt install libapache2-mod-wsgi-py3
Una vez instalado, es necesario habilitar mod_wsgi ejecutando:
sudo a2enmod wsgi
Configuración de una Aplicación Python con Apache y mod_wsgi
Para demostrar cómo ejecutar un script Python, crearemos una aplicación Python de ejemplo llamada miaplicacion
. Primero, cree un directorio para su aplicación dentro del directorio /var/www/
:
sudo mkdir /var/www/miaplicacion
Dentro de este directorio, cree un archivo llamado miaplicacion.wsgi
y agregue el siguiente contenido, que es un simple script Python que muestra “¡Hola, mundo!”:
def application(environ, start_response):
status = '200 OK'
output = b'Hola, mundo!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Configuración del Host Virtual de Apache para su Aplicación
Para servir su aplicación Python, debe configurar un host virtual en Apache. Cree un archivo de configuración de host virtual en /etc/apache2/sites-available/
:
sudo nano /etc/apache2/sites-available/miaplicacion.conf
Agregue la siguiente configuración, ajustando ServerName
a su dominio o dirección IP y el WSGIScriptAlias
al archivo .wsgi
de su aplicación:
<VirtualHost *:80>
ServerName miaplicacion.com
WSGIDaemonProcess miaplicacion python-path=/var/www/miaplicacion
WSGIScriptAlias / /var/www/miaplicacion/miaplicacion.wsgi
<Directory /var/www/miaplicacion>
WSGIProcessGroup miaplicacion
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
</VirtualHost>
Habilite el host virtual y reinicie Apache para aplicar los cambios:
sudo a2ensite miaplicacion.conf
sudo systemctl restart apache2
Verificación
Acceda a http://miaplicacion.com
o http://<su-dirección-IP>
para ver el resultado de su script Python. Debería ver el mensaje “¡Hola, mundo!”.
Para quienes buscan una experiencia aún más optimizada y robusta, consideren integrar su aplicación con Shape.host Linux SSD VPS. Shape.host ofrece soluciones de Cloud VPS que destacan por su rendimiento, escalabilidad y seguridad. Al alojar su aplicación en Shape.host, puede disfrutar de una infraestructura de vanguardia, diseñada para maximizar la disponibilidad y el rendimiento de sus aplicaciones Python.