У дадзеным артыкуле будзе прадстаўлена падрабязная інструкцыя па ўсталёўцы і наладзе праграм 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.
Загрузіўшы файл усталёўкі, пстрыкніце правай кнопкай мышы файл усталёўкі і абярыце «Запуск ад імя адміністратара». Вы павінны ўбачыць экран ніжэй
Усталёўваны птушачкі насупраць чекбоксаў "Install launcher for add user (recomended)" і "Add Python 3.9 to PATH" і націскаем на "Customize installation".
Усталёўваны галачкі на супраць "pip", "py launcher", "for all users (requires elevation)" і націскаем "Next".
Выбіраем усе палі ўводу як на малюнку вышэй і націскаем на "Install".
Каб пераканацца, што ўстаноўка прайшла паспяхова, адчыніце cmd і ўвядзіце python. Калі ўстаноўка прайшла паспяхова, вы павінны ўбачыць запрашэнне, падобны прыведзенаму ніжэй
Усталёўваны mod_wsgi
Спампоўваем скампіляваны пакет з mod_wsgi з сайта
Усталеўваны модуль з дапамогай стандартнага пакетнага мэнэджара pip у cmd або powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl
Апач
Спампоўваем дыстрыбутыў з сайта
Самая свежая версія 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
У выніку павінны ўбачыць у браўзэры па адрасе
Усталеўваны службу 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 узяты з сайта
Дзеянні па ўстаноўцы прадстаўлены вышэй і каментарах не маюць патрэбы. Устаноўка вельмі простая.
Ствараем БД у 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 праект.
Усталёўваны web дадатак
Для гэтага спампоўваем zip архіў з сайта
Уносім змены ў галоўны канфігурацыйны файл C:severcartappconfsettings_prod.py для ўказання рэквізітаў падлучэння да БД
Python слоўнік DATABASES змяшчае рэквізіты падключэння да БД. Падрабязнасці па наладзе чытайце тут
Усталёўваны Python пакеты значэнняў для працы прыкладанняў усярэдзіне Django праекту
C:severcartapptkinstaller>python install.py
У працэсе працы скрыпту будзе праведзена ініцыялізацыя БД табліцамі, канстрэйтамі, індэксамі і іншым, а будзе прапанавана стварыць карыстальніка, ад імя якога будзе праводзіцца праца ў праграме.
Падлучаем 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 і правяраем працу прыкладання
На гэтым усё. Дзякуй што дачыталі.
У наступным артыкуле будзем ствараць усталявальны самараспакоўны архіў у InnoSetup для хуткага разгортвання Django праекту на кампутары замоўца. Для тых хто хоча паўтарыць усе дзеянні на
Крыніца: habr.com