WSGI signifie «Web Server Gateway Interface», qui fournit une méthode standard et efficace pour que les applications Web dynamiques communiquent avec les serveurs Web. Il est utilisé pour déployer des applications écrites en Django, Web.py, Werkzug et Flask. Mod_wsgi simplifie le déploiement de l'application WSGI sur un serveur Web Apache. Mod_wsgi est un module de serveur Web Apache qui peut être utilisé pour servir des applications Python à l'aide du protocole HTTP.
Dans ce tutoriel, nous allons vous montrer comment installer Apache avec Python Mod_wsgi sur Debian 10.
Prérequis
- Un nouveau VPS Debian 10 sur la plate-forme cloud d'Atlantic.net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Debian 10 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois connecté à votre serveur Debian 10, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 - Installer Python
Tout d'abord, vous devrez installer Python sur votre système. Vous pouvez l'installer en exécutant simplement la commande suivante :
apt-get install python3 libexpat1 -y
Une fois Python installé, vous pouvez passer à l'étape suivante.
Étape 3 - Installer Apache avec le module mod_wsgi
Ensuite, vous devrez installer le package de serveur Web Apache et le module Python mod_wsgi sur votre système. Exécutez la commande suivante pour les installer :
apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y
Une fois tous les packages installés, redémarrez le service Apache pour appliquer les modifications.
systemctl restart apache2
Étape 4 - Configurer Apache avec le module mod_wsgi
Tout d'abord, vous devrez créer un script Python dans votre répertoire racine Web Apache. Vous pouvez le créer avec la commande suivante :
nano /var/www/html/wsgi.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 Apache with mod_wsgi \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 lorsque vous avez terminé.
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour servir le script Python avec le protocole HTTP.
Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/conf-available/mod-wsgi.conf
Ajoutez la ligne suivante :
WSGIScriptAlias /wsgi /var/www/html/wsgi.py
Enregistrez et fermez le fichier. Ensuite, activez la configuration de l'hôte virtuel avec la commande suivante :
a2enconf mod-wsgi
Ensuite, redémarrez le service Apache pour appliquer les modifications.
systemctl restart apache2
Étape 5 - Vérifier l'application mod_wsgi
Maintenant, ouvrez votre serveur Web et visitez l'URL http://your-server-ip/wsgi. Vous serez redirigé vers l'écran suivant :
Conclusion
Toutes nos félicitations! Vous avez déployé avec succès l'application Python avec mod_wsgi et Apache sur Debian 10. Déployez facilement une application Python dans l'environnement de production sur votre compte d'hébergement VPS depuis Atlantic.Net.