Apache django python windows

Содержание
  1. Документация Django 1.8
  2. Базовая конфигурация¶
  3. Использование virtualenv¶
  4. Использование mod_wsgi в режиме демона¶
  5. Обслуживание файлов¶
  6. Обслуживание административных файлов¶
  7. Идентификация пользовательской базы данных с Apache¶
  8. Если вы столкнулись с ошибкой UnicodeEncodeError ¶
  9. Документация Django 1.6
  10. Базовая конфигурация¶
  11. Использование virtualenv¶
  12. Использование mod_wsgi в режиме демона¶
  13. Обслуживание файлов¶
  14. Обслуживание административных файлов¶
  15. Идентификация пользовательской базы данных с Apache¶
  16. Если вы столкнулись с ошибкой UnicodeEncodeError ¶
  17. Как настроить веб-сервер Apache на запуск Python в Windows
  18. 1. Установите Python
  19. 2. Настройка Apache на запуск Python CGI
  20. 3. Перезапустите Apache
  21. 4. Запустите тестовую страницу Python
  22. Поднимаем Django стек на MS Windows
  23. Python
  24. Устанавливаем mod_wsgi
  25. Apache
  26. PostgreSQL
  27. Устанавливаем web приложение
  28. Документация Django 1.7
  29. Установка Python¶
  30. Установка Apache и mod_wsgi¶
  31. Создание рабочей базы данных¶
  32. Удаление предыдущей версии Django¶
  33. Установка Django¶
  34. Установка пакета для конкретного дистрибутива¶
  35. Установка официальной версии с помощью pip ¶
  36. Установка официальной версии вручную¶
  37. Установка разрабатываемой версии¶
  38. Установка разрабатываемой версии без pip¶

Документация Django 1.8

Развертывание Django с Apache и mod_wsgi это испытанный способ установки на “боевой” веб-сервер.

Официальная документация mod_wsgi просто фантастический документ; это ваш путеводитель по mod_wsgi. Возможно, вы захотите начать с документации по установке и конфигурированию.

Базовая конфигурация¶

Значение WSGIScriptAlias указывает местоположение ваших приложений, ( / обозначает корневую директорию), вторым значением указывается расположение файла “WSGI” – см.ниже – в вашей системе, как правило, в корне проекта. (в примере это mysite ). Эти настройки позволят Apache обрабатывать любой запрос из директории, указанной как базовая с помощью WSGI-приложения, хранящегося в ней.

WSGIPythonPath гарантирует, что ваш проект доступен для импорта; иначе говоря, что команда import mysite сработает.

Если несколько сайтов на Django запущены в одном процессе mod_wsgi, они все будут использовать настройки сайта, который первый загрузился. Это можно исправить, поменяв:

или используя mod_wsgi daemon mode при котором каждый сайт запущен в отдельном фоновом процессе.

Использование virtualenv¶

Убедитесь в том, что путь к виртуальному окружению указан верно и замените python3.X на используемую вами версию Python (например, python3.4 ).

Использование mod_wsgi в режиме демона¶

Чтобы проект был доступен через подкаталог ( http://example.com/mysite в этом примере), вы можете указать в настройках WSGIScriptAlias :

Обслуживание файлов¶

Django не должен обрабатывать файлы самостоятельно; эта задача передаётся любому выбранному вами веб-серверу.

Мы рекомендуем использовать отдельный веб-сервер – то есть тот, что идёт не в поставке с самим Django – для обслуживания медиа-файлов. Вот несколько неплохих вариантов:

Однако, если у вас нет возможности обслуживать медиа-файлы на том же виртуальном хосте ( VirtualHost ) что и Django, вы можете настроить Apache на обработку некоторых URL-запросов как статических и медиа-файлов, используя интерфейс mod_wsgi.

Обслуживание административных файлов¶

Административные файлы находятся по пути ( django/contrib/admin/static/admin ) в директории, где установлен Django.

Создание символьной ссылки на статические файлы, которые должны содержаться в корневом каталоге (для этого может потребоваться добавление +FollowSymLinks в конфигурации Apache).

Копирование директории с административной статикой в корень Apache.

Идентификация пользовательской базы данных с Apache¶

Django предоставляет возможность идентификации пользователей средствами Apache см. mod_wsgi authentication documentation.

Если вы столкнулись с ошибкой UnicodeEncodeError ¶

Чтобы избежать проблем, среда, в которой запущен Apache, должна содержать параметры, аналогичные следующим:

Обратитесь к документации вашей операционной системы, чтобы подобрать соответствующий синтаксис и настроить расположение конфигурационных файлов; /etc/apache2/envvars является общей для Unix-like систем. После внесения соответствующих изменений перезапустите Apache.

Источник

Документация Django 1.6

Развертывание Django с Apache и mod_wsgi это испытанный способ установки на “боевой” веб-сервер.

Официальная документация mod_wsgi просто фантастический документ; это ваш путеводитель по mod_wsgi. Возможно, вы захотите начать с документации по установке и конфигурированию.

Базовая конфигурация¶

Значение WSGIScriptAlias указывает местоположение ваших приложений, ( / обозначает корневую директорию), вторым значением указывается расположение файла “WSGI” – см.ниже – в вашей системе, как правило, в корне проекта. (в примере это mysite ). Эти настройки позволят Apache обрабатывать любой запрос из директории, указанной как базовая с помощью WSGI-приложения, хранящегося в ней.

WSGIPythonPath гарантрует, что ваш проект доступен для импорта; иначе говоря, что команда import mysite сработает.

Если несколько сайтов на Django запащены в одном процессе mod_wsgi, они все будут использовать настройки сайта, который первый загрузился. Это можно исправить поправив « wsgi.py«(смотрите комментарий в файле), или используя mod_wsgi daemon mode при котором каждый сайт запущен в отдельном фоновом процессе.

Использование virtualenv¶

Убедитесь в том, что путь к виртуальному окружению указан верно и замените python2.X на используемую вами версию Python (например, python2.7 ).

Использование mod_wsgi в режиме демона¶

Обслуживание файлов¶

Django не должен обрабатывать файлы самостоятельно; эта задача передаётся любому выбранному вами веб-серверу.

Читайте также:  Windows service visual studio

Мы рекомендуем использовать отдельный веб-сервер – то есть тот, что идёт не в поставке с самим Django – для обслуживания медиа-файлов. Вот несколько неплохих вариантов:

Однако, если у вас нет возможности обслуживать медиа-файлы на том же виртуальном хосте ( VirtualHost ) что и Django, вы можете настроить Apache на обработку некоторых URL-запросов как статических и медиа-файлов, используя интерфейс mod_wsgi.

Обслуживание административных файлов¶

Административные файлы находятся по пути ( django/contrib/admin/static/admin ) в директории, где установлен Django.

Создание символьной ссылки на статические файлы, которые должны содержаться в корневом каталоге (для этого может потребоваться добавление +FollowSymLinks в конфигурации Apache).

Копирование директории с административной статикой в корень Apache.

Идентификация пользовательской базы данных с Apache¶

Django предоставляет возможность идентификации пользовательей средствами Apache см. mod_wsgi authentication documentation.

Если вы столкнулись с ошибкой UnicodeEncodeError ¶

Если вы воспользовались настройками стандартной интернационализации Django (см. Интернационализация и локализация) и позволили пользователям загружать файлы, то должны убедиться, что среда для запуска Apache настроена для обработки не ASCII символов.Если это не так, будет возбуждено исключение UnicodeEncodeError при вызове функций, подобных os.path() с именами файлов, содержащими отличные от ASCII символы.

Чтобы избежать проблем, среда, в которой запущен Apache, должна содержать параметры, аналогичные следующим:

Обратитесь к документации вашей операционной системы, чтобы подобрать соответствующий синтаксис и настроить расположение конфигурационных файлов; /etc/apache2/envvars является общей для Unix-like систем. После внесения соответствующих изменений перезапустите Apache.

Источник

Как настроить веб-сервер Apache на запуск Python в Windows

Скрипты Python можно запускать в окружении Apache аналогично запуску скриптов PHP. Для этого нужно сделать небольшую настройку.

Я устанавливал веб-сервер по этой инструкции, если вы устанавливали по другой инструкции, то отредактируйте пути под свои значения.

1. Установите Python

Если у вас ещё не установлен Python, то скачайте установщик здесь: https://www.python.org/downloads/windows/ (файл Windows x86-64 executable installer).

Я установил в предлагаемый путь, но также выбрал добавление папки с исполнимыми файлами Python в переменные окружения (возможно, это делать необязательно).

Забегая вперёд скажу — путь до папки с установленным Python нужно будет указывать в начале каждого Python cgi скрипта, поэтому или выберите более простую папку, куда вы устанавливаете Python, либо запомните имя путь до предложенной директории.

В конце программа установки предложила снять максимальное ограничение на длину пути — я согласился (возможно, это делать необязательно):

2. Настройка Apache на запуск Python CGI

Теперь откройте для редактирования файл httpd.conf, у меня он расположен по пути C:\Server\bin\Apache24\conf\httpd.conf.

Найдите там строку

и добавьте к ней ExecCGI. Должна получиться такая строка (ВНИМАНИЕ: набор опций у вас может быть другим):

Теперь найдите строку:

Раскомментируйте её, то есть удалите символ # в начале строки и добавьте к концу строки .py. Новая строка будет выглядеть примерно так:

3. Перезапустите Apache

4. Запустите тестовую страницу Python

В папке для ваших сайтов (у меня это C:\Server\data\htdocs\) создайте файл test.py и скопируйте в него:

Обратите внимание на самую верхнюю строку, то есть на C:\Users\Alex\AppData\Local\Programs\Python\Python37\python.exe — вам нужно заменить её на своё значение, указав путь до файла python.exe. Даже если вы выбрали предложенную по умолчанию папку, как минимум, вам нужно заменить имя пользователя Alex на имя своего пользователя.

ПРИМЕЧАНИЕ: обратите внимание, что путь до файла python.exe может различаться в зависимости от выбранной папки для установки, имени пользователя (если вы установили в C:\Users\), а также в зависимости от версии, например, это может быть папка Python39:

Отредактируйте самую верхнюю строку в соответствии с вашей установкой.

Источник

Поднимаем 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. Местоположение не принципиально.

Читайте также:  System windows controls canvas

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

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:

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 на свою

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

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

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

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

В результате в стандартный вывод будет распечатаны строки:

Создаем файл C:\severcart\Apache24\conf\extra\httpd-wsgi.conf и копипастим туда распечатанные строки выше.

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

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

PostgreSQL

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

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

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

БД создана. Теперь разворачиваем 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 проекта

В процессе работы скрипта будет произведена инициализация БД таблицами, констрейтами, индексами и прочим, а будет предложено создать пользователя, от имени которого будет производиться работа в программе.

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

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

На этом все. Спасибо что дочитали.

В следующей статье будем создавать установочный самораспаковывающийся архив в InnoSetup для быстрого развертывания Django проекта на компьютере заказчика. Для тех кто хочет повторить все действия на Яндекс.Диск загружены все используемые дистрибутивы.

Источник

Документация Django 1.7

Этот документ призван проинструктировать вас о том, как получить и запустить Django.

Установка Python¶

Изначально написанный на Python, Web-фреймворк Django требует установки самого Python. Подойдет Python 2.7, 3.2 или 3.3.

Последнюю версию Python можно скачать на http://www.python.org/download/ или используя системный пакетный менеджер.

Если вы используете Jython (реализация языка Python на языке Java), вам необходимо пройти несколько дополнительных шагов. См. Запускаем Django на Jython для получения более подробной информации.

Если вы только начали изучать Django и используете Windows, советуем почитать How to install Django on Windows.

Установка Apache и mod_wsgi¶

Если вы просто хотите поэкспериментировать с Django, пропустите этот раздел и перейдите к следующему; Django включает в себя легковесный web-сервер, предназначенный для тестирования, поэтому вы вправе не устанавливать Apache до тех пор, пока ваш проект не будет готов для развёртывания на “боевом”-сервере.

Если вам нужно использовать Django на публичном, производственном сайте, используйте Apache и mod_wsgi ; mod_wsgi может работать в одном из двух режимов: во встроенном режиме и в режиме демона. Во встроенном режиме mod_wsgi очень похож на mod_perl – он “встраивает” Python в Apache и загружает код Python в память при запуске сервера. Код остаётся в памяти в течение жизни процесса Apache, что даёт значительный рост производительности по сравнению с другими механизмами. В режиме демона mod_wsgi порождает независимый процесс-демон, который обрабатывает запросы. Процесс-демон может работать от имени различных пользователей Web-сервера, что может весьма повысить уровень безопасности. Кроме того, процесс-демон может быть перезапущен без останова и перезапуска самого Apache. Обратитесь к документации mod_wsgi, чтобы определить какой режим подходит вам в большей степени. Убедитесь, что Apache установлен и модуль mod_wsgi активирован. Django будет работать с любой версией Apache, которая имеет поддержку mod_wsgi.

Читайте также:  From windows to linux remote desktop

См. Использование Django и mod_wsgi для получения информации о настройке mod_wsgi сразу после того, как он будет установлен.

Создание рабочей базы данных¶

Если вы планируете использовать функционал API баз данных Django, вам нужно удостовериться, что сервер баз данных запущен. Django поддерживает много различных СУБД. В частности к ним относятся PostgreSQL, MySQL, Oracle и SQLite.

Если вы заняты разработкой простого проекта или чего-то, что вы не планируете развернуть в производственной среде, SQLite в целом является наипростейшим вариантом, поскольку он вообще не требует установки отдельного веб-сервера. Однако, SQLite очень отличается от других баз данных, поэтому, если вы работаете над чем-то существенным, рекомендуется выбрать ту же базу данных, которая будет использована на “боевом” сервере.

В дополнение к официально поддерживаемым базам данных есть бэкэнды, поставляемые третьими сторонами, которые позволяют использовать другие БД с Django.

В дополнение к установке необходимой БД вы также должны убедиться, что вами выбран и установлен соответствующий модуль Python.

При использовании PostgreSQL, вам понадобится пакет postgresql_psycopg2. Вы можете обратиться к PostgreSQL notes для получения дальнейших инструкций, специфичных для этой БД.

Пользователям Windows следует проверить наличие неофициальной скомпилированной для Windows версии.

При использовании MySQL, вам понадобится пакет MySQL-python версии 1.2.1p2 или выше. Вы также можете получить инструкции, специфичные для этой БД.

Если вы используете SQLite, вам следует прочитать про особенности использования SQLite.

При использовании неофициальных бэкендов от сторонних разработчиков смотрите соответствующую документацию о дополнительных требованиях.

Если вы используете среду тестирования Django для проверки запросов к базе данных, Django понадобится разрешение на создание тестовой БД.

Удаление предыдущей версии Django¶

Вам нужно полностью удалить предыдущую версию Django перед установкой новой версии.

Установка Django¶

Инструкции по установке несколько различаются в зависимости от того, каким способом вы устанавливаете пакет: установка для конкретного дистрибутива, загрузка последней официальной версии или получение текущей разрабатываемой версии.

Это просто, независимо от того, какой вариант будет вами выбран.

Установка пакета для конкретного дистрибутива¶

Проверьте наличие готового пакета, если ваша операционная система предоставляет возможность получить пакет/установщик Django. Как правило, этот способ удобен автоматическим разрешением зависимостей и обновлением версии Django.

Установка официальной версии с помощью pip ¶

Это рекомендуемый способ установки Django.

(опционально) Взгляните на virtualenv и virtualenvwrapper. Эти программы предоставляют изолированное окружение Python, что намного более практично, чем установка общесистемных пакетов. Такой подход также позволяет провести установку без административных прав. Это информация для размышления, если вы захотите использовать их.

Установка официальной версии вручную¶

Скачайте последнюю стабильную версию со страницы загрузки.

Перейдите в каталог, созданный на шаге 2 (например, cd Django-X.Y ).

Удаление предыдущей версии Django

При использовании данного метода установки очень важно удалить предыдущую версию Django, если она была установлена ранее. В противном случае вы можете столкнуться с невозможностью установки новой версии.

Установка разрабатываемой версии¶

Следим за разработкой Django

Если вы хотите обновить Django до разрабатываемой версии, чтобы иметь возможность использовать последние, возможно, нестабильные изменения и улучшения, следуйте этой инструкции:

Убедитесь, что у вас установлен Git и вы можете запустить его из командной оболочки. (Введите git help в командной оболочке, чтобы проверить это.)

Склонируйте разрабатываемую ветку Django (‘trunk’ или ‘master’) вот так:

Эта команда создаст каталог django-trunk в вашей текущей директории.

Убедитесь, что интерпретатор Python может загрузить код Django. Самый удобный способ сделать это – использовать pip. Запустите следующую команду:

Если у вас нет возможности установить pip, смотрите альтернативные инструкции по установке разрабатываемой версии без pip.

Установка разрабатываемой версии без pip¶

Если у вас не установлен pip, вы можете вручную изменить путь поиска Python.

Местонахождение каталога site-packages зависит от используемой вами операционной системы и места, куда был установлен Python. Чтобы определить, где находится site-packages запустите следующую команду:

(запуск осуществляется в командной оболочке, а не в интерактивной оболочке Python)

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector