Wählen Sie zunächst unter Inoffizielle Windows-Binärdateien für Python-Erweiterungspakete die Raddatei (.whl) aus, die eines der Python-Archivformate ist. herunterladen
Es gibt verschiedene Arten von Dateien, aber diejenigen, die heruntergeladen werden
mod_wsgi-[mod_Version von wsgi]+ap[Apache-Version]vc[Visual Studio-Compilerversion]-cp[Python-Version]-cp[Python-Version]m-win[Betriebssystembits].whl
Datei, die übereinstimmt Zum Beispiel, wenn Sie versuchen, in der folgenden Umgebung zu installieren
mod_wsgi-4.4.23+ap24vc14-cp35-cp35m-win_amd64.whl
Herunterladen
Installiere mod_wsgi mit pip
pip install mod_wsgi-4.4.23+ap24vc14-cp35-cp35m-win_amd64.wh
Bei Erfolg wird mod_wsgi.so unter dem Ordner erstellt, in dem Python installiert ist.
C:/Program Files/Python35/mod_wsgi.so
Platzieren Sie die erstellte Datei mod_wsgi.so unter modules in dem Ordner, in dem Apache installiert ist.
C:/Programs/Apache24/modules/mod_wsgi.so
Zur httpd.conf hinzufügen
C:/Programs/Apache24/conf/httpd.conf
//Um die Linie 181
LoadModule wsgi_module modules/mod_wsgi.so
Fügen Sie außerdem irgendwo den folgenden Code hinzu
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>
Wenn Sie die Python-Module, von denen Ihr Projekt abhängt, in virtualenv installiert haben, müssen Sie Ihrem Python-Pfad auch das Verzeichnis virtualenv site-packages hinzufügen. Fügen Sie dazu den Apache-Einstellungen eine weitere Zeile hinzu
httpd.conf
// X.X ist die Python-Version
WSGIPythonPath /path/to/your/venv/lib/pythonX.X/site-packages
Starten Sie Apache neu
wsgi.py wird im Projekt benötigt, um wsgi_mod zu verwenden Sie können ein Projekt mit wsgi.py generieren, indem Sie den folgenden Befehl ausführen
django-admin startproject [Projektname]
Der Inhalt von wsgi.py ist übrigens wie folgt
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", "[Projektname].settings")
application = get_wsgi_application()
Sie haben jetzt eine Apache + mod_wsgi-Umgebung unter Windows erstellt, aber diese Konfiguration spiegelt Codeänderungen nicht sofort wider. Eine Möglichkeit, dies zu lösen, besteht darin, MaxRequestsPerChild auf eine kleine Anzahl zu reduzieren, um eine Umgebung zu erstellen, in der Apache einfach neu gestartet werden kann. Weitere Informationen finden Sie unter modwsgi --ReloadingSourceCode.wiki.
httpd.conf
MaxRequestsPerChild 3
Recommended Posts