
I denna artikel kommer en detaljerad instruktion för installation och konfiguration av programmen Apache, Python och PostgreSQL att presenteras för att möjliggöra drift av ett Django-projekt pÄ MS Windows OS. Django innehÄller redan en förenklad utvecklingsserver för lokal testning av kod, men för produktionsrelaterade uppgifter krÀvs en sÀkrare och kraftfullare webserver. Vi kommer att konfigurera mod_wsgi för att interagera med vÄrt projekt och stÀlla in Apache som en gateway till den yttre vÀrlden.
Det Àr vÀrt att notera att installationen och konfigurationen kommer att utföras pÄ MS Windows 10 med 32-bitarsarkitektur. Den 32-bitarsreaktionen kommer ocksÄ att vara universell och fungera pÄ 64-bitarsarkitektur. Om du behöver en 64-bitarsinstallation, upprepa samma steg för 64-bitars distributörer av programmen, sekvensen av steg kommer att vara identisk.
Som Django-projekt kommer vi att anvÀnda programmet Severcart. Det Àr avsett för att hantera rörelser av patroner, uppföljning av skrivarenheter och avtal om leverans och service. Installation av alla program och moduler kommer att utföras i katalogen C:severcart. Platsen Àr inte avgörande.
Python
Det första steget Àr att ladda ner och installera Python frÄn Python-webbplatsen. VÀlj Windows som operativsystem och 32-bitarsversionen. Vid tidpunkten för skrivandet Àr den aktuella versionen 3.9.0rc2.
NÀr installationsfilen har laddats ner, högerklicka pÄ installationsfilen och vÀlj "Kör som administratör". Du bör se skÀrmen nedan.

Vi sÀtter kryss i rutorna för "Installera launcher för add user (rekommenderas)" och "LÀgg till Python 3.9 i PATH" och klicka pÄ "Anpassa installation".

Vi sÀtter kryss i rutorna för "pip", "py launcher", "för alla anvÀndare (krÀver höjning)" och klickar pÄ "NÀsta".

VÀlj alla inmatningsfÀlt som pÄ bilden ovan och klicka pÄ "Installera".

För att sÀkerstÀlla att installationen har genomförts framgÄngsrikt, öppna cmd och skriv python. Om installationen har gÄtt bra, bör du se en uppmaning liknande den nedan.

Installera mod_wsgi.
Ladda ner det kompilera paketet med mod_wsgi frÄn webbplatsen.
. Modulen fungerar som en förmedlare mellan Apache-servern och Django-projektet. Den senaste paketet kommer att ha namnet mod_wsgi-4.7.1-cp39-cp39-win32.whl. Observera att paketet Àr kompilerat för 32-bitars Windows CPython version 3.9. Det Àr ocksÄ vÀrt att notera att en uppenbar installation av modulen pip install mod_wsgi sannolikt kommer att misslyckas, eftersom en kompilator för Visual Studio C++ kommer att krÀvas under installationsprocessen. Att installera hela kompilatorn endast för ett Python-paket pÄ Windows anses vara oekonomiskt.
Vi installerar modulen med hjÀlp av standardpakethanteraren pip i cmd eller powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Vi laddar ner distributionen frÄn webbplatsen .
Den senaste versionen av webbservern Àr Apache 2.4.46 win32 VS16. För att programmet ska fungera krÀvs Àven att paketet 'Visual C++ Redistributable for Visual Studio 2019 x86' Àr installerat i förvÀg.
Vi packar upp Apache-distributionen i katalogen C:severcartApache24, och Àndrar sedan raden med nummer 37 till vÄr egen.
Define SRVROOT "C:/severcart/Apache24"
Vi kontrollerar att Apache fungerar genom att köra i kommandoraden
C:/severcart/Apache24/bin> httpd.exe
Som ett resultat bör vi se i webblÀsaren pÄ adressen raden 'It works!'.

Vi installerar Apache-tjÀnsten, för detta kör vi i kommandoraden som Administratör följande instruktion:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
DÀrefter kopplar vi modulen mod_wsgi till Apache. För detta kör vi följande instruktion i kommandoraden
C:Windowssystem32>mod_wsgi-express module-config
Som ett resultat kommer följande rader att skrivas ut till standardutskriften:
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"
Vi skapar filen C:severcartApache24confextrahttpd-wsgi.conf och kopierar de utskrivna raderna dit.
Vi kopplar den nya konfigurationen till huvudfilen httpd.conf
Include conf/extra/httpd-wsgi.conf
Vi sparar Àndringarna och startar om Apache-tjÀnsterna
Net stop Apache24
Net start Apache24
PostgreSQL
Vi installerar PostgreSQL hÀmtat frÄn webbplatsen . Den aktuella versionen av programprodukten Àr 12. Fördelarna med den ryska distributionen i förhÄllande till den officiella presenteras pÄ samma webbplats.










Installationsstegen beskrivs ovan och krÀver inga kommentarer. Installation Àr extremt enkel.
Vi skapar en databas i postgres dÀr strukturerna för Django-projektet kommer att lagras.
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

Databasen har skapats. Nu sÀtter vi upp Django-projektet.
Vi installerar webapplikationen
För detta laddar vi ner zip-arkivet frÄn webbplatsen. och packar upp i katalogen C:severcartapp

Vi gör Àndringar i huvudkonfigurationsfilen C:severcartappconfsettings_prod.py för att ange databasens anslutningsuppgifter

Python-dictionary DATABASES innehÄller anslutningsuppgifterna till databasen. LÀs mer om instÀllningarna hÀr
Vi installerar nödvÀndiga Python-paket för att fÄ applikationerna att fungera inom Django-projektet
C:severcartapptkinstaller>python install.py

Under skriptets körning kommer databasens tabeller, konstruktioner, index och annat att initialiseras, och det kommer att erbjudas att skapa en anvÀndare som programmet kommer att arbeta under.
Vi kopplar Django-applikationen till Apache-servern genom att komplettera konfigurationsfilen
httpd-wsgi.conf med följande text
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# för Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# för Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
Require all granted
Vi startar om Apache-tjÀnsten och kontrollerar applikationens funktionalitet

Det Àr allt. Tack för att du lÀste.
I nÀsta artikel kommer vi att skapa ett sjÀlvpaketande installationsarkiv i InnoSetup för snabb distribution av Django-projektet pÄ kundens dator. För dem som vill upprepa alla ÄtgÀrder pÄ alla anvÀnda distributioner Àr uppladdade.
KĂ€lla: habr.com
