GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment exécuter des scripts Python avec Apache et mod_wsgi sur Ubuntu 20.04

mod_wsgi est un module Apache qui fournit une interface pour héberger des applications Web basées sur Python sous Apache. Il convient à l'hébergement de sites Web de production hautes performances, ainsi qu'à vos sites personnels autogérés moyens exécutés sur des services d'hébergement Web. Vous pouvez facilement déployer des applications écrites avec des frameworks et des outils tels que Django, Web.py, Werkzug, Chery.py, TurboGears et Flask à l'aide de mod_wsgi.

Dans ce tutoriel, nous apprendrons comment installer et configurer mod_wsgi avec le serveur Apache sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, c'est une bonne idée de mettre à jour votre système avec la dernière version. Vous pouvez mettre à jour votre système avec la commande suivante :

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

Après avoir mis à jour le système, redémarrez-le pour appliquer les modifications.

Installer Python

Par défaut, Python est préinstallé sur le serveur Ubuntu 20.04. S'il n'est pas installé, vous pouvez l'installer avec la commande suivante :

apt-get install python3 libexpat1 -y

Une fois l'installation terminée, vous pouvez passer à l'étape suivante.

Installer Apache et mod_wsgi

Ensuite, vous devrez installer le serveur Web Apache et le module Python mod_wsgi sur votre système. Vous pouvez les installer en exécutant la commande suivante :

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

Une fois tous les packages installés, vous pouvez passer à l'étape suivante.

Configurer Apache pour mod_wsgi

Ensuite, vous devez créer un nouveau script Python dans le répertoire racine Web par défaut d'Apache et le servir via le module Apache mod_wsgi.

Vous pouvez le créer avec la commande suivante :

nano /var/www/html/wsgy.py

Ajoutez les lignes suivantes :

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]

Enregistrez et fermez le fichier. Ensuite, changez la propriété du fichier en www-data avec la commande suivante :

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

Ensuite, créez un fichier de configuration d'hôte virtuel Apache pour servir ce fichier via le protocole HTTP.

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

Ajoutez la ligne suivante :

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

Enregistrez et fermez le fichier. Ensuite, activez la configuration mod-wsgi et redémarrez le service Apache avec la commande suivante :

a2enconf wsgi
systemctl restart apache2

Tester mod-wsgi

À ce stade, le serveur Web Apache est configuré pour servir votre fichier Python via le protocole HTTP.

Pour le tester, ouvrez votre navigateur Web et tapez l'URL http://your-server-ip/wsgi. Vous devriez voir la page de test mod-wsgi dans l'écran suivant :

Conclusion

Félicitations ! vous avez déployé avec succès le script Python sur le serveur Web Apache à l'aide du module mod_wsgi sur le serveur Ubuntu 20.04. J'espère que vous pourrez désormais déployer facilement n'importe quelle application Python avec Apache et mod_wsgi dans l'environnement de production.


Ubuntu
  1. Comment installer et configurer Nextcloud avec Apache sur Ubuntu 18.04

  2. Comment installer et sécuriser phpMyAdmin avec Apache sur Ubuntu 18.04

  3. Comment compiler et exécuter le programme C dans Ubuntu

  4. Comment installer Apache Maven sur Ubuntu 18.04 et 16.04

  5. Comment installer Python sur Ubuntu 20.04 et 18.04 ?

Comment accélérer apache avec mod_pagespeed et Memcached sur Ubuntu 15.10

Comment installer Flask avec Python 3 sur Ubuntu 18.04

Comment installer PrestaShop sur Ubuntu 20.04 avec Apache

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment installer Apache avec Python Mod_wsgi sur Debian 10

Comment installer Django 3.2 sur Ubuntu 20.04 avec Apache et WSGI