Dieser Artikel enthält detaillierte Anweisungen zur Installation und Konfiguration von Apache-, Python- und PostgreSQL-Programmen, um den Betrieb des Django-Projekts unter MS Windows sicherzustellen. Django enthält bereits einen leichtgewichtigen Entwicklungsserver zum lokalen Testen von Code, für produktionsbezogene Aufgaben ist jedoch ein sichererer und leistungsfähigerer Webserver erforderlich. Wir werden mod_wsgi für die Interaktion mit unserem Projekt einrichten und Apache als Gateway zur Außenwelt einrichten.
Zu beachten ist, dass die Installation und Konfiguration unter MS Windows 10 mit 32 Bit erfolgt. Auch die 32-Bit-Reaktion wird universell sein und auf der 64-Bit-Architektur funktionieren. Wenn Sie eine 64-Bit-Installation benötigen, wiederholen Sie die gleichen Schritte für 64-Bit-Softwareverteilungen, die Abfolge der Aktionen ist identisch.
Als Django-Projekt werden wir das Severcart-Programm verwenden. Es ist darauf ausgelegt, die Bewegung von Patronen zu verwalten und Druckgeräte sowie Liefer- und Serviceverträge abzurechnen. Alle Programme und Module werden im Verzeichnis C:severcart installiert. Der Standort spielt keine Rolle.
Python
Der erste Schritt besteht darin, Python von der Python-Website herunterzuladen und zu installieren. Als Betriebssystem wählen wir Windows und die 32-Bit-Version. Zum Zeitpunkt des Schreibens ist die aktuelle Version 3.9.0rc2.
Nachdem Sie die Setup-Datei heruntergeladen haben, klicken Sie mit der rechten Maustaste auf die Setup-Datei und wählen Sie „Als Administrator ausführen“. Sie sollten den folgenden Bildschirm sehen
Setzen Sie die Kontrollkästchen neben den Kontrollkästchen „Launcher für Benutzer hinzufügen (empfohlen)“ und „Python 3.9 zu PATH hinzufügen“ und klicken Sie auf „Installation anpassen“.
Setzen Sie die Kontrollkästchen auf „pip“, „py launcher“, „für alle Benutzer (erfordert erhöhte Rechte)“ und klicken Sie auf „Weiter“.
Wählen Sie alle Eingabefelder wie im Bild oben aus und klicken Sie auf „Installieren“.
Um zu überprüfen, ob die Installation erfolgreich war, öffnen Sie cmd und geben Sie python ein. Wenn die Installation erfolgreich war, sollte eine Eingabeaufforderung ähnlich der folgenden angezeigt werden.
mod_wsgi installieren
Laden Sie das kompilierte Paket von mod_wsgi von der Website herunter
Installieren Sie das Modul mit dem Standard-Pip-Paketmanager in cmd oder Powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl
Apache
Herunterladen des Distributionskits von der Website
Die neueste Version des Webservers ist Apache 2.4.46 win32 VS16. Damit das Programm funktioniert, benötigen Sie außerdem ein vorinstalliertes Paket „Visual C++ Redistributable for Visual Studio 2019 x86“.
Wir entpacken die Apache-Distribution in das Verzeichnis C:severcartApache24 und ändern dann die Zeile mit der Nummer 37 in unsere eigene
Define SRVROOT "C:/severcart/Apache24"
Wir überprüfen den Betrieb von Apache, indem wir ihn in der Befehlszeile ausführen
C:/severcart/Apache24/bin> httpd.exe
Als Ergebnis sollten Sie im Browser Folgendes sehen:
Installieren Sie den Apache-Dienst. Führen Sie dazu als Administrator die Anweisung in der Befehlszeile aus:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Als nächstes verbinden wir das Modul mod_wsgi mit Apache. Führen Sie dazu die Anweisung in der Befehlszeile aus
C:Windowssystem32>mod_wsgi-express module-config
Dadurch werden die folgenden Zeilen auf der Standardausgabe ausgegeben:
LoadFile "c:/severcart/python/python39.dll"
LoadModule wsgi_module "c:/severcart/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win32.pyd"
WSGIPythonHome "c:/severcart/python"
Erstellen Sie eine Datei C:severcartApache24confextrahttpd-wsgi.conf und kopieren Sie die oben gedruckten Zeilen und fügen Sie sie dort ein.
Wir verbinden die neue Konfiguration mit der Hauptdatei httpd.conf
Fügen Sie conf/extra/httpd-wsgi.conf ein
Änderungen speichern, Apache-Dienste neu starten
Net stop Apache24
Net start Apache24
PostgreSQL
Installieren Sie PostgreSQL von der Site
Die Installationsschritte sind oben dargestellt und bedürfen keiner Kommentare. Die Installation ist äußerst einfach.
Wir erstellen in Postgres eine Datenbank, in der dann die Datenstrukturen des Django-Projekts gespeichert werden
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;
Die DB wurde erstellt. Lassen Sie uns nun das Django-Projekt bereitstellen.
Installieren der Webanwendung
Laden Sie dazu das Zip-Archiv von der Website herunter
Wir nehmen Änderungen an der Hauptkonfigurationsdatei C: severcartappconfsettings_prod.py vor, um die Datenbankverbindungsdetails anzugeben
Das Python-Wörterbuch DATABASES enthält Details zur Datenbankverbindung. Lesen Sie hier mehr über die Einrichtung.
Installieren von Python-Feature-Packs zum Ausführen von Anwendungen in einem Django-Projekt
C:severcartapptkinstaller>python install.py
Während der Ausführung des Skripts wird die Datenbank mit Tabellen, Konstrukten, Indizes usw. initialisiert und es wird vorgeschlagen, einen Benutzer zu erstellen, in dessen Namen die Arbeit im Programm ausgeführt wird.
Wir verbinden die Django-Anwendung mit dem Apache-Server, dazu ergänzen wir die Konfigurationsdatei
httpd-wsgi.conf mit dem folgenden Text
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
<Directory "c:/severcart/app/static">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory "c:/severcart/app/media">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
Require all granted
</Files>
</Directory>
Starten Sie den Apache-Dienst neu und testen Sie die Anwendung
Das ist alles. Vielen Dank fürs Lesen.
Im nächsten Artikel erstellen wir ein selbstextrahierendes Installationsarchiv in InnoSetup, um ein Django-Projekt schnell auf dem Computer eines Kunden bereitzustellen. Für diejenigen, die alle Schritte wiederholen möchten
Source: habr.com