GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

mod_wsgi es un módulo de Apache que proporciona una interfaz para hospedar 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

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

Cómo empezar

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 que se haya completado la instalación, puede continuar con el siguiente paso.

Instalar 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 de Apache mod_wsgi.

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, cambia 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

Modificación de prueba-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:

Conclusión

¡Felicitaciones! 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.


Ubuntu
  1. Cómo instalar y configurar Nextcloud con Apache en Ubuntu 18.04

  2. Cómo instalar y proteger phpMyAdmin con Apache en Ubuntu 18.04

  3. Cómo compilar y ejecutar un programa C en Ubuntu

  4. Cómo instalar Apache Maven en Ubuntu 18.04 y 16.04

  5. ¿Cómo instalar Python en Ubuntu 20.04 y 18.04?

Cómo acelerar apache con mod_pagespeed y Memcached en Ubuntu 15.10

Cómo instalar Flask con Python 3 en Ubuntu 18.04

Cómo instalar PrestaShop en Ubuntu 20.04 con Apache

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar Apache con Python Mod_wsgi en Debian 10

Cómo instalar Django 3.2 en Ubuntu 20.04 con Apache y WSGI