
Tento článek poskytne podrobné pokyny k instalaci a konfiguraci Apache, Pythonu a PostgreSQL pro zajištění provozu Django projektu na MS OS. WindowsDjango již obsahuje zjednodušený vývojový server pro lokální testování kódu, ale úlohy související s produkčním prostředím vyžadují bezpečnější a výkonnější webový server. Nakonfigurujeme mod_wsgi pro komunikaci s naším projektem a nastavíme Apache jako bránu do vnějšího světa.
Za zmínku stojí, že instalace a konfigurace bude probíhat v operačním systému MS OS. Windows 10 s 32bitovou architekturou. 32bitová verze bude také univerzální a bude fungovat na 64bitové architektuře. Pokud potřebujete 64bitovou instalaci, opakujte stejné kroky pro 64bitové softwarové distribuce; posloupnost akcí bude identická.
Jako projekt Django budeme používat program Severcart. Je navržen tak, aby řídil pohyb kazet, účtování tiskových zařízení a smlouvy o dodávkách a službách. Všechny programy a moduly budou nainstalovány do adresáře C:severcart. Místo není důležité.
PYTHON
Prvním krokem je stažení a instalace Pythonu z webových stránek Pythonu. Vyberte Windows jako operační systém a 32bitovou verzi. V době psaní tohoto textu je aktuální verze 3.9.0rc2.
Po stažení instalačního souboru klikněte pravým tlačítkem na instalační soubor a vyberte Spustit jako správce. Měli byste vidět obrazovku níže

Zaškrtněte políčka vedle „Instalovat launcher pro přidání uživatele (doporučeno)“ a „Přidat Python 3.9 do PATH“ a klikněte na „Přizpůsobit instalaci“.

Zaškrtněte políčka vedle „pip“, „py launcher“, „pro všechny uživatele (vyžaduje nadmořskou výšku)“ a klikněte na „Další“.

Vyberte všechna vstupní pole jako na obrázku výše a klikněte na „Instalovat“.

Chcete-li ověřit, že instalace proběhla úspěšně, otevřete cmd a zadejte python. Pokud byla instalace úspěšná, měli byste vidět výzvu podobnou té níže

Nainstalujte mod_wsgi
Stáhněte si zkompilovaný balíček z mod_wsgi z webu
Modul funguje jako prostředník mezi serverem Apache a projektem Django. Nejnovější balíček bude mít název mod_wsgi-4.7.1-cp39-cp39-win32.whl. Upozorňujeme, že balíček je kompilován pro 32bitové systémy. Windows CPython verze 3.9. Za zmínku také stojí, že zřejmá instalace modulu pip install mod_wsgi s největší pravděpodobností selže, protože instalační proces vyžaduje kompilátor Visual Studia C++. Instalace celého kompilátoru pouze pro jeden balíček Pythonu je... Windows Považujeme to za nevhodné.
Nainstalujte modul pomocí standardního správce balíčků pip v cmd nebo powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Stažení distribuční sady z webu .
Nejnovější verze webového serveru je Apache 2.4.46 win32 VS16. Aby program fungoval, budete potřebovat předinstalovaný balíček „Visual C++ Redistributable for Visual Studio 2019 x86“.
Rozbalte distribuci Apache do adresáře C:severcartApache24, poté změňte číslo řádku 37 na vaše
Define SRVROOT "C:/severcart/Apache24"
Činnost Apache zkontrolujeme spuštěním na příkazovém řádku
C:/severcart/Apache24/bin> httpd.exe
V důsledku toho by se měly zobrazit v prohlížeči na adrese řádek "Funguje to!"

Nainstalujeme službu Apache, k tomu spusťte na příkazovém řádku jako správce následující pokyny:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Dále připojíme modul mod_wsgi k Apache. Chcete-li to provést, proveďte instrukci na příkazovém řádku
C:Windowssystem32>mod_wsgi-express module-config
V důsledku toho budou následující řádky vytištěny na standardní výstup:
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"
Vytvořte soubor C:severcartApache24confextrahttpd-wsgi.conf a zkopírujte a vložte vytištěné řádky výše.
Novou konfiguraci připojíme k hlavnímu souboru httpd.conf
Zahrnout conf/extra/httpd-wsgi.conf
Uložte změny, restartujte služby Apache
Net stop Apache24
Net start Apache24
PostgreSQL
Nainstalujte PostgreSQL převzatý z webu . Aktuální verze softwarového produktu je 12. Výhody ruské distribuce oproti kanonické jsou uvedeny na stejné webové stránce.










Kroky instalace jsou uvedeny výše a nepotřebují komentář. Instalace je extrémně jednoduchá.
V postgresu vytvoříme databázi, kam se následně uloží datové struktury projektu Django
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

Databáze byla vytvořena. Nyní nasadíme projekt Django.
Instalace webové aplikace
Chcete-li to provést, stáhněte si archiv zip z webu a rozbalte jej do adresáře C:severcartapp

Provádíme změny v hlavním konfiguračním souboru C:severcartappconfsettings_prod.py, abychom specifikovali podrobnosti pro připojení k databázi

Pythonský slovník DATABASES obsahuje podrobnosti pro připojení k databázi. Přečtěte si více o nastavení zde
Instalace balíčků Pythonu důležitých pro spouštění aplikací v rámci projektu Django
C:severcartapptkinstaller>python install.py

Během běhu skriptu bude databáze inicializována tabulkami, konstrukcemi, indexy atd. a budete požádáni o vytvoření uživatele, jehož jménem se bude v programu pracovat.
Připojíme aplikaci Django k serveru Apache, k tomu přidáme konfigurační soubor
httpd-wsgi.conf s následujícím textem
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>
Restartujte službu Apache a otestujte aplikaci

To je vše. Děkuji za přečtení.
V příštím článku vytvoříme instalační samorozbalovací archiv v InnoSetup pro rychlé nasazení projektu Django na počítači zákazníka. Pro ty, kteří chtějí opakovat všechny kroky jsou načteny všechny použité distribuce.
Zdroj: www.habr.com
