Русский
Русский
English
Статистика
Реклама

Из песочницы Поднимаем Django стек на MS Windows

image

В данной статье будет представлена подробная инструкция по установке и настройке программ 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.

Загрузив файл установки, щелкните правой кнопкой мыши файл установки и выберите Запуск от имени администратора. Вы должны увидеть экран ниже



Устанавливаем галочки напротив чекбоксов 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 c сайта
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




Apache


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

Распаковываем дистрибутив Apache в каталог C:\severcart\Apache24, далее меняем строку с номером 37 на свою

Define SRVROOT "C:/severcart/Apache24"


Проверяем работу Apache, выполнив в командной строке

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


В результате должны увидеть в браузере по адресу 127.0.0.1 строку It works!.



Устанавливаем службу Apache, для этого выполним в командной строке от имени Администратора инструкцию:

C:\severcart\Apache24\bin>httpd.exe -k install -n "Apache24"


Далее подключим модуль mod_wsgi к Apache. Для этого выполним в командной строке инструкцию
C:\Windows\system32>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:\severcart\Apache24\conf\extra\httpd-wsgi.conf и копипастим туда распечатанные строки выше.

Подключаем новую конфигурацию к основному файлу httpd.conf
Include conf/extra/httpd-wsgi.conf

Сохраняем изменения, перезагружаем службы Apache
Net stop Apache24Net start Apache24


PostgreSQL


Устанавливаем PostgreSQL взятый с сайта https://postgrespro.ru/windows. Текущая версия программного продукта 12. Преимущества Российского дистрибутива от канонического представлены на том же сайте.





















Действия по установке представлены выше и комментариях не нуждаются. Установка крайне проста.

Создаем БД в postgres, где потом будут храниться структуры данных Django проекта

C:\severcart\postgresql\bin>psql -h 127.0.0.1 -U postgres -WCREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;




БД создана. Теперь разворачиваем Django проект.

Устанавливаем web приложение


Для этого скачиваем zip архив с сайта https://www.severcart.ru/downloads/ и распаковываем в каталог C:\severcart\app\



Вносим изменения в главный конфигурационный файл C:\severcart\app\conf\settings_prod.py для указания реквизитов подключения к БД



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

Устанавливаем Python пакеты значимостей для работы приложений внутри Django проекта

C:\severcart\app\tkinstaller>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
К списку статей
Опубликовано: 17.10.2020 06:09:54
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Postgresql

Django

Apache

Python

Django framework

Категории

Последние комментарии

© 2006-2020, personeltest.ru