
Šajā rakstā tiks sniegta detalizēta instrukcija, kā uzstādīt un konfigurēt programmas Apache, Python un PostgreSQL, lai nodrošinātu Django projekta darbību MS Windows OS. Django jau ietver vienkāršotu izstrādes serveri kodu lokālai testēšanai, taču produkcijas uzdevumiem ir nepieciešams drošāks un jaudīgāks tīmekļa serveris. Mēs konfigurēsim mod_wsgi, lai tas mijiedarbotos ar mūsu projektu, un uzstādīsim Apache kā vārtus uz ārpasauli.
Vērts pieminēt, ka uzstādīšana un konfigurācija tiks veikta MS Windows 10 ar 32 bitu arhitektūru. Arī 32 bitu versija būs universāla un darbosies uz 64 bitu arhitektūras. Ja jums nepieciešama 64 bitu uzstādīšana, atkārtojiet tos pašus soļus 64 bitu programmu izplatījumam, darbību secība būs identiska.
Kā Django projektu mēs izmantosim programmu Severcart. Tā paredzēta kartridžu kustības pārvaldībai, printeru iekārtu uzskaitīšanai un piegādes un apkalpošanas līgumu kontrolei. Visi programmu un moduļu uzstādīšana tiks veikta mapē C:severcart. Vieta nav kritiska.
Python
Pirmais solis ir Python lejupielāde un uzstādīšana no Python vietnes. Izvēlamies Windows kā operētājsistēmu un 32 bitu versiju. Raksta sagatavošanas brīdī aktuālā versija ir 3.9.0rc2.
Lejupielādējot instalācijas failu, ar peles labo pogu noklikšķiniet uz instalācijas faila un izvēlieties "Palaist kā administrators". Jums vajadzētu redzēt zemāk esošo ekrānu.

Iestādām atzīmes blakus izvēles rūtiņām "Install launcher for all users (recommended)" un "Add Python 3.9 to PATH" un nospiežam "Customize installation".

Iestādām atzīmes blakus "pip", "py launcher", "for all users (requires elevation)" un nospiežam "Next".

Izvēlamies visus ievades laukus kā attēlā augstāk un nospiežam "Install".

Lai pārliecinātos, ka uzstādīšana ir veiksmīga, atveriet cmd un ierakstiet python. Ja uzstādīšana ir veiksmīga, jums vajadzētu redzēt komandu aicinājumu, līdzīgu norādītajam zemāk.

Uzstādām mod_wsgi
Lejupielādējam kompilētu mod_wsgi pakotni no tīmekļa vietnes
Modulis pilda starpnieka funkcijas starp Apache serveri un Django projektu. Visjaunākais pakotnes nosaukums ir mod_wsgi-4.7.1-cp39-cp39-win32.whl. Lūdzu, ņemiet vērā, ka pakotne ir kompilēta 32 bitu Windows CPython versijai 3.9. Tāpat jāatzīmē, ka acīmredzamā modula uzstādīšana ar pip install mod_wsgi, visticamāk, beigsies ar kļūdu, jo instalācijas procesā būs nepieciešams Visual Studio C++ kompilators. Uzstādīt kompilatoru tikai viena Python pakotnes dēļ Windows mēs uzskatām par neefektīvu.
Uzstādam moduli, izmantojot standarta pakotņu pārvaldnieku pip cmd vai powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Lejupielādējiet distribūciju no vietnes .
Visjaunākā Web servera versija ir Apache 2.4.46 win32 VS16. Arī programmai būs nepieciešams iepriekš instalēts pakotne "Visual C++ Redistributable for Visual Studio 2019 x86".
Izpakojam Apache distribūciju katalogā C:severcartApache24, pēc tam mainām 37. rindas numuru uz savu
Define SRVROOT "C:/severcart/Apache24"
Pārbaudām Apache darbību, izpildot komandu rindā
C:/severcart/Apache24/bin> httpd.exe
Rezultātā pārlūkā jāredz adrese rinda "It works!".

Uzstādam Apache servisu, tam izpildām komandu rindā ar administratora tiesībām:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Pēc tam pievienojam mod_wsgi moduli Apache. Tam izpildām komandu rindā
C:Windowssystem32>mod_wsgi-express module-config
Rezultātā standarta izejā tiks izdrukātas rindas:
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"
Izveidojam failu C:severcartApache24confextrahttpd-wsgi.conf un arī tur ievietojam iepriekš izdrukātās rindas.
Pievienojam jauno konfigurāciju galvenajam httpd.conf failam
Include conf/extra/httpd-wsgi.conf
Saglabājam izmaiņas, pārstartējam Apache pakalpojumus
Net stop Apache24
Net start Apache24
PostgreSQL
Uzstādam PostgreSQL, kas ņemts no vietnes . Pašreizējā programmatūras versija ir 12. Krievijas distribūcijas priekšrocības pret kanonisko ir norādītas tajā pašā vietnē.










Uzstādīšanas darbības ir uzskaitītas iepriekš un komentāri nav nepieciešami. Uzstādīšana ir ļoti vienkārša.
Izveidojam datubāzi postgres, kurā vēlāk tiks glabātas Django projekta datu struktūras
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

Datubāze ir izveidota. Tagad izvēršam Django projektu.
Uzstādam web lietotni
Tādēļ lejupielādējam zip arhīvu no vietnes unzip in the C:severcartapp directory

We make changes to the main configuration file C:severcartappconfsettings_prod.py to specify the database connection details

The Python dictionary DATABASES contains the details for connecting to the database. For details on configuration, read here
We install the necessary Python packages for the applications to work within the Django project
C:severcartapptkinstaller>python install.py

During the script execution, the database will be initialized with tables, constraints, indexes, and more, and you will be prompted to create a user under whose account the program will operate.
We connect the Django application to the Apache server by adding to the configuration file
httpd-wsgi.conf the following text
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# for 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
We restart the Apache service and check the application operation

That's all. Thank you for reading.
In the next article, we will create a self-extracting installer archive in InnoSetup for quick deployment of the Django project on the client's computer. For those who want to repeat all actions on all used distributions have been uploaded.
Avots: habr.com
