Издигаме 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 от уебсайта на Python. Избираме Windows като операционна система и 32-битна версия. Към момента на написването на статията, текущата версия е 3.9.0rc2.

След като изтеглите инсталационния файл, щракнете с десния бутон върху него и изберете "Стартиране като администратор". Трябва да видите екрана по-долу.

Издигаме Django стек на MS Windows

Слагаме отметки на чекбоксите "Install launcher for all users (recommended)" и "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

Apache

Сваляме дистрибутива от сайта https://www.apachelounge.com/download/.
Най-новата версия на уеб сървъра е 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 проекта.

Инсталираме уеб приложението

За целта изтегляме 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"


    # за Apache 2.4
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted



    # за 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

Рестартираме услугата Apache и проверяваме работата на приложението

Издигаме Django стек на MS Windows

Това е всичко. Благодаря, че прочетохте.

В следващата статия ще създаваме инсталационен самораспаковащ се архив в InnoSetup за бързо разгръщане на Django проекта на компютъра на клиента. За тези, които искат да повторят всички действия на Yandex.Disk са качени всички използвани дистрибутиви.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster