Tout d'abord, à partir de Binaires Windows non officiels pour les packages d'extension Python, sélectionnez le fichier wheel (.whl), qui est l'un des formats d'archive Python. Télécharger
Il existe plusieurs types de fichiers, mais ceux qui sont téléchargés
mod_wsgi-[mod_version de wsgi]+ap[version Apache]vc[Version du compilateur Visual Studio]-cp[Version Python]-cp[Version Python]m-win[Bits du système d'exploitation].whl
Fichier qui correspond Par exemple, si vous essayez d'installer dans l'environnement suivant
mod_wsgi-4.4.23+ap24vc14-cp35-cp35m-win_amd64.whl
Télécharger
Installez mod_wsgi à l'aide de pip
pip install mod_wsgi-4.4.23+ap24vc14-cp35-cp35m-win_amd64.wh
En cas de succès, mod_wsgi.so sera créé dans le dossier où Python est installé.
C:/Program Files/Python35/mod_wsgi.so
Placez le mod_wsgi.so créé sous modules dans le dossier où Apache est installé.
C:/Programs/Apache24/modules/mod_wsgi.so
Ajouter à httpd.conf
C:/Programs/Apache24/conf/httpd.conf
//Autour de la ligne 181
LoadModule wsgi_module modules/mod_wsgi.so
De plus, ajoutez le code suivant n'importe où
httpd.conf
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Si vous avez installé les modules Python dont dépend votre projet dans virtualenv, vous devez également ajouter le répertoire site-packages virtualenv à votre chemin Python. Pour ce faire, ajoutez une autre ligne aux paramètres Apache
httpd.conf
// X.X est la version Python
WSGIPythonPath /path/to/your/venv/lib/pythonX.X/site-packages
Redémarrez Apache
wsgi.py est requis dans le projet pour utiliser wsgi_mod Vous pouvez générer un projet contenant wsgi.py en exécutant la commande suivante
django-admin startproject [Nom du projet]
À propos, le contenu de wsgi.py est le suivant
wsgi.py
"""
WSGI config for helloworld project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "[Nom du projet].settings")
application = get_wsgi_application()
Vous avez maintenant construit un environnement Apache + mod_wsgi sous Windows, mais cette configuration ne reflète pas immédiatement les changements de code. Une façon de résoudre ce problème consiste à réduire MaxRequestsPerChild à un petit nombre pour créer un environnement dans lequel Apache peut être facilement redémarré. Pour plus d'informations, consultez modwsgi --ReloadingSourceCode.wiki.
httpd.conf
MaxRequestsPerChild 3
Recommended Posts