Піднімаємо 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 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

Apache

Завантажуємо дистрибутив із сайту 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

Додати коментар або відгук