mod_wsgi es un módulo de Apache que se puede usar para servir secuencias de comandos de Python a través de HTTP a través del servidor web Apache. 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 18.04 LTS (Bionic Beaver).
Requisitos
- Un servidor que ejecuta el servidor Ubuntu 18.04.
- Un usuario no root con privilegios sudo.
- Configure una dirección IP estática 192.168.43.229 en su servidor.
Instalar Apache y mod_wsgi
Antes de comenzar, deberá instalar algunos paquetes necesarios en su sistema.
Puede instalarlos todos ejecutando el siguiente comando:
sudo apt-get install python libexpat1 apache2 apache2-utils ssl-cert -y
Una vez que todos los paquetes necesarios estén instalados, puede proceder a instalar mod_wsgi con el siguiente comando:
sudo apt-get install libapache2-mod-wsgi -y
Configurar Apache para mod_wsgi
A continuación, deberá crear una secuencia de comandos de python dentro del directorio raíz web de Apache para servir a través del módulo de Apache mod_wsgi.
Puedes hacer esto con el siguiente comando:
sudo 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, otorgue los permisos adecuados al archivo wsgi.py:
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
A continuación, deberá configurar Apache para servir este archivo a través del protocolo HTTP. Puede hacerlo creando el archivo wsgi.conf:
sudo nano /etc/apache2/conf-available/wsgi.conf
Agregue las siguientes líneas:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Guarde y cierre el archivo. Luego, otorgue los permisos adecuados al archivo wsgi.py:
Luego, habilite la configuración de mod-wsgi y reinicie el servicio de Apache con el siguiente comando:
sudo a2enconf wsgi
sudo systemctl restart apache2
Prueba de scripts de Python en Apache con mod-wsgi
Ahora, abra su navegador web y escriba la URL http://example.com/wsgi. Será redirigido a la siguiente página:
Enlaces
- Servidor web Apache
- mod_wsgi
- Ubuntu