mod_wsgi

De ArchwikiFR


Introduction

Selon le site du projet :

Le paquet mod_wsgi fournit un module Apache qui implémente une interface compatible WSGI pour l'hébergement d'applications Web basées sur Python pour le serveur web Apache.

Le module peut être utilisé avec les CMS et framework suivants:

Installation

Deux paquets sont présents dans community :

  • mod_wsgi fournit le module fonctionnant avec toutes les versions communes de Python (2.x et 3.x)
  • mod_wsgi2 fournit le module fonctionnant uniquement avec les versions 2.x de Python

Pour installer le paquet avec pacman :

pacman -S mod_wsgi

ou

pacman -S mod_wsgi2

Configuration d'Apache

  • Comme indiqué lors de l'installation, ajoutez la ligne suivante au fichier de configuration d'Apache :
Fichier: /etc/httpd/conf/httpd.conf
LoadModule wsgi_module modules/mod_wsgi.so
  • Rédémarrez Apache:
systemctl restart httpd
  • Vérifiez qu'Apache s'est lancé correctement

Si la commande précédente n'a rien renvoyé, c'est que le lancement d'Apache s'est bien déroulé. Dans le cas contraire, vous pouvez consulter les erreurs avec la commande suivante :

systemctl -l status httpd.service

Test du module

  • Ajoutez ce bloc dans le fichier de configuration d'Apache :
Fichier: /etc/httpd/conf/httpd.conf
WSGIScriptAlias /wsgi_app /srv/http/wsgi_app.py
  • Créez un fichier de test :
Fichier: /srv/http/wsgi_app.py
#-*- coding: utf-8 -*-
def wsgi_app(environ, start_response):
    import sys
    output = str(sys.version)
    status = '200 OK'
    headers = [('Content-type', 'text/plain'),
               ('Content-Length', str(len(output)))]
    start_response(status, headers)
    yield output

# mod_wsgi need the *application* variable to serve our small app
application = wsgi_app
  • Rédémarrez Apache :
systemctl restart httpd


Voir aussi