Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

У дадзеным артыкуле будзе прадстаўлена падрабязная інструкцыя па ўсталёўцы і наладзе праграм Apache, Python і PostgreSQL для забеспячэння працы Django праекту ў АС MS Windows. Django ужо ўключае ў сябе спрошчаны сервер распрацоўкі для лакальнага тэсціравання кода, але для задач, звязаных з прадакшэн, патрабуецца больш бяспечны і магутны вэб-сервер. Мы наладзім mod_wsgi для ўзаемадзеяння з нашым праектам і наладзім Apache у якасці шлюза ў навакольны свет.

Варта адзначыць, што ўстаноўка і настройка будзе рабіцца ў АС MS Windows 10 з 32 разраднасцю. Таксама 32 бітная рэакцыя будзе ўніверсальная і будзе працаваць на 64 бітнай архітэктуры. Калі вам патрэбна 64 бітная ўстаноўка паўторыце тыя ж дзеянні для 64 бітных дыстрыбутываў праграм, паслядоўнасць дзеянняў будзе ідэнтычная.

У якасці Django праекту будзем выкарыстоўваць праграму Severcart. Яна прызначана для кіравання перамяшчэннямі картрыджаў, уліку друкавальнага абсталявання і дагавораў пастаўкі і абслугоўвання. Устаноўка ўсіх праграм і модуляў будзе рабіцца ў каталог C:severcart. Месцазнаходжанне не прынцыпова.

Пітон

Першым крокам з'яўляецца загрузка і ўсталяванне Python з вэб-сайта Python. Выбіраемы Windows у якасці аперацыйнай сістэмы і 32-бітную версію. На момант напісання артыкула бягучай версіяй з'яўляецца 3.9.0rc2.

Загрузіўшы файл усталёўкі, пстрыкніце правай кнопкай мышы файл усталёўкі і абярыце «Запуск ад імя адміністратара». Вы павінны ўбачыць экран ніжэй

Падымаем Django стэк на MS Windows

Усталёўваны птушачкі насупраць чекбоксаў "Install launcher for add user (recomended)" і "Add Python 3.9 to PATH" і націскаем на "Customize installation".

Падымаем Django стэк на MS Windows

Усталёўваны галачкі на супраць "pip", "py launcher", "for all users (requires elevation)" і націскаем "Next".

Падымаем Django стэк на MS Windows

Выбіраем усе палі ўводу як на малюнку вышэй і націскаем на "Install".

Падымаем Django стэк на MS Windows

Каб пераканацца, што ўстаноўка прайшла паспяхова, адчыніце cmd і ўвядзіце python. Калі ўстаноўка прайшла паспяхова, вы павінны ўбачыць запрашэнне, падобны прыведзенаму ніжэй

Падымаем Django стэк на MS Windows

Усталёўваны mod_wsgi

Спампоўваем скампіляваны пакет з mod_wsgi з сайта
www.lfd.uci.edu/~gohlke/pythonlibs. Модуль выконвае функцыі пасярэдніка паміж серверам Apache і Django праектам. Самы свежы пакет будзе з імем mod_wsgi-4.7.1-cp39-cp39-win32.whl. Звярніце ўвагу, што пакет скампіляваны для 32 бітнай Windows CPython версіі 3.9. Таксама варта адзначыць, што відавочная ўсталёўка модуля pip install mod_wsgi хутчэй за ўсё завершыцца памылкай, т.я. падчас усталёўкі запатрабуецца кампілятар Visual Studio C++. Ставіць кампілятар цалкам дзеля аднаго Python пакета ў Windows лічым немэтазгодным.

Усталеўваны модуль з дапамогай стандартнага пакетнага мэнэджара pip у cmd або powershell:

pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Падымаем Django стэк на MS Windows

Апач

Спампоўваем дыстрыбутыў з сайта https://www.apachelounge.com/download/.
Самая свежая версія Web-сервера з'яўляецца Apache 2.4.46 win32 VS16. Таксама для працы праграмы спатрэбіцца загадзя ўсталяваны пакет "Visual C++ Redistributable for Visual Studio 2019 x86".

Распакоўваем дыстрыбутыў Apache у каталог C:severcartApache24, далей змяняем радок з нумарам 37 на свой

Define SRVROOT "C:/severcart/Apache24"

Правяраем працу Apache, выканаўшы ў камандным радку

C:/severcart/Apache24/bin> httpd.exe

У выніку павінны ўбачыць у браўзэры па адрасе 127.0.0.1 радок "It works!".

Падымаем Django стэк на MS Windows

Усталеўваны службу Apache, для гэтага выканальны ў камандным радку ад імя Адміністратара інструкцыю:

C:severcartApache24bin>httpd.exe -k install -n "Apache24"

Далей падлучым модуль mod_wsgi да Apache. Для гэтага выканаем у камандным радку інструкцыю

C:Windowssystem32>mod_wsgi-express module-config

У выніку ў стандартную выснову будуць раздрукаваныя радкі:

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"

Ствараем файл C:severcartApache24confextrahttpd-wsgi.conf і копіпастім туды раздрукаваныя радкі вышэй.

Падлучальны новую канфігурацыю да асноўнага файла httpd.conf
Include conf/extra/httpd-wsgi.conf

Захоўваем змены, перазагружаем службы Apache

Net stop Apache24
Net start Apache24

PostgreSQL

Усталёўваны PostgreSQL узяты з сайта https://postgrespro.ru/windows. Бягучая версія праграмнага прадукта - 12. Перавагі Расійскага дыстрыбутыва ад кананічнага прадстаўлены на тым жа сайце.

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Падымаем Django стэк на MS Windows

Дзеянні па ўстаноўцы прадстаўлены вышэй і каментарах не маюць патрэбы. Устаноўка вельмі простая.

Ствараем БД у postgres, дзе потым будуць захоўвацца структуры дадзеных 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;

Падымаем Django стэк на MS Windows

БД створана. Цяпер разгортваем Django праект.

Усталёўваны web дадатак

Для гэтага спампоўваем zip архіў з сайта https://www.severcart.ru/downloads/ і які распакоўваецца ў каталог C:severcartapp

Падымаем Django стэк на MS Windows

Уносім змены ў галоўны канфігурацыйны файл C:severcartappconfsettings_prod.py для ўказання рэквізітаў падлучэння да БД

Падымаем Django стэк на MS Windows

Python слоўнік DATABASES змяшчае рэквізіты падключэння да БД. Падрабязнасці па наладзе чытайце тут https://docs.djangoproject.com/en/3.1/ref/databases/#connecting-to-the-database

Усталёўваны Python пакеты значэнняў для працы прыкладанняў усярэдзіне Django праекту

C:severcartapptkinstaller>python install.py

Падымаем Django стэк на MS Windows

У працэсе працы скрыпту будзе праведзена ініцыялізацыя БД табліцамі, канстрэйтамі, індэксамі і іншым, а будзе прапанавана стварыць карыстальніка, ад імя якога будзе праводзіцца праца ў праграме.

Падлучаем Django дадатак да сервера Apache для гэтага дапаўняем канфігурацыйны файл
httpd-wsgi.conf наступным тэкстам

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>

Перазагружаем службу Apache і правяраем працу прыкладання

Падымаем Django стэк на MS Windows

На гэтым усё. Дзякуй што дачыталі.

У наступным артыкуле будзем ствараць усталявальны самараспакоўны архіў у InnoSetup для хуткага разгортвання Django праекту на кампутары замоўца. Для тых хто хоча паўтарыць усе дзеянні на Яндекс.Дыск загружаны ўсе выкарыстоўваюцца дыстрыбутывы.

Крыніца: habr.com

Дадаць каментар