Le module Apache mod_wsgi est utilisé pour servir des scripts Python sur HTTP via le serveur Web Apache. Ce tutoriel vous aide à installer le module Apache mod_wsgi sur Ubuntu 18.04 (Bionic Beaver).
Étape 1 - Prérequis
Connectez-vous à la console du serveur Ubuntu 18.04 via SSH et installez certains packages prérequis sur le système.
sudo apt-get update sudo apt-get install python libexpat1
Étape 2 - Installer le module mod_wsgi
Avant de commencer, vous devrez installer certains composants Apache prérequis pour pouvoir travailler avec mod_wsgi. Vous pouvez installer tous les composants requis en exécutant simplement la commande suivante :
sudo apt-get update sudo apt-get install apache2 apache2-utils ssl-cert
Maintenant, installez le module Apache mod_wsgi en exécutant la commande suivante :
sudo apt-get install libapache2-mod-wsgi
Redémarrez le service Apache pour que mod_wsgi fonctionne.
sudo systemctl restart apache2
Étape 3 – Configurer Apache pour WSGI
Ensuite, créez un script python à servir via le module Apache mod_wsgi.
sudo vi /var/www/html/wsgi_test_script.py
Ajoutez le contenu suivant :
XHTML12345678910 | def application(environ,start_response):status ='200 OK' html ='\n' \ '\n' \ ' Hourra, mod_wsgi fonctionne\n' \ '\n' \ '\n' response_header =[('Content-type','text/html')] start_response(status,response_header) return [html] |
Après cela, vous devez configurer le serveur Apache pour servir ce fichier via le protocole HTTP. Créons un fichier de configuration pour servir le script wsgi_test_script.py sur une sous-URL.
sudo nano /etc/apache2/conf-available/mod-wsgi.conf
Ajoutez le contenu suivant :
WSGIScriptAlias /test_wsgi /var/www/html/wsgi_test_script.py
Après avoir terminé les étapes ci-dessus, activez mod-wsgi configuration et redémarrez le service Apache.
sudo a2enconf mod-wsgi sudo systemctl restart apache2
Étape 4 – Tests
La configuration est maintenant prête. Vous pouvez tester le script en accédant à l'URL suivante dans un navigateur Web.
http://SERVER_IP/test_wsgi
Voir la capture d'écran ci-dessous :