GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

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 :

  • Serveur Web Apache
  • mod_wsgi
  • Ubuntu

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