mod_wsgi est un module Apache qui peut être utilisé pour servir des scripts Python sur HTTP via le serveur Web Apache. 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 allons apprendre à installer et configurer mod_wsgi avec le serveur Apache sur le serveur Ubuntu 18.04 LTS (Bionic Beaver).
Exigences
- Un serveur exécutant le serveur Ubuntu 18.04.
- Un utilisateur non root avec des privilèges sudo.
- Une adresse IP statique 192.168.43.229 configurée sur votre serveur.
Installer Apache et mod_wsgi
Avant de commencer, vous devrez installer certains packages requis sur votre système.
Vous pouvez tous les installer en exécutant la commande suivante :
sudo apt-get install python libexpat1 apache2 apache2-utils ssl-cert -y
Une fois tous les packages requis installés, vous pouvez procéder à l'installation de mod_wsgi avec la commande suivante :
sudo apt-get install libapache2-mod-wsgi -y
Configurer Apache pour mod_wsgi
Ensuite, vous devrez créer un script python dans le répertoire racine Web d'Apache pour le servir via le module Apache mod_wsgi.
Vous pouvez le faire avec la commande suivante :
sudo 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, donnez les autorisations appropriées au fichier wsgi.py :
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
Ensuite, vous devrez configurer Apache pour servir ce fichier via le protocole HTTP. Vous pouvez le faire en créant le fichier wsgi.conf :
sudo nano /etc/apache2/conf-available/wsgi.conf
Ajoutez les lignes suivantes :
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Enregistrez et fermez le fichier. Ensuite, donnez les autorisations appropriées au fichier wsgi.py :
Ensuite, activez la configuration mod-wsgi et redémarrez le service Apache avec la commande suivante :
sudo a2enconf wsgi
sudo systemctl restart apache2
Tester les scripts Python dans Apache avec mod-wsgi
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://example.com/wsgi. Vous serez redirigé vers la page suivante :
Liens
- Serveur Web Apache
- mod_wsgi
- Ubuntu