Как установить django на хостинг

Начинаем развертывание Django-сайта на хостинге

Предположим, что мы завершили начальную разработку сайта на тестовом веб-сервере и решили предъявить его миру, то есть, выложить на боевом веб-сервере. Часто для этого арендуется хостинг или сервер целиком (иногда его части – технология VPN) где и планируется расположить проект с файлами и БД. У каждого хостинг-провайдера используется свое оборудование и программное обеспечение, поэтому конкретные шаги по установке проекта на разных хостингах будут отличаться. Но общий принцип похож и его я буду демонстрировать на примере довольно популярного хостера – Beget (это не реклама, мои сайты расположены на других хостингах, так сложилось исторически).

Возможно, некоторые из вас уже связаны с этим хостингом, учитывая его популярность. Это была главная причина выбора Beget в качестве примера. Далее, я буду показывать все так, как выглядит на момент записи этого видео. Возможно, со временем интерфейс и даже некоторые шаги изменятся, но, думаю, общий принцип сохранится. Поэтому будьте внимательны и не повторяйте просто так, бездумно, все, что я показываю в этом и последующих видео.

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

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Здесь нужно открыть вкладку FTP и активировать SSH-доступ, так как он нам в дальнейшем пригодится:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Затем, перейдем на вкладку «Управление сайтами» и здесь у нас уже должен быть тестовый домен 3-го уровня от Beget:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

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

Конечно, некоторые из вас могут внимательно изучить админку от Beget и увидеть раздел CMS, где, в частности, имеется и Django:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Но я не рекомендую его устанавливать в автоматическом режиме, так как здесь используется далеко не последняя версия, да и версия языка Python также оставляет желать лучшего. Поэтому, мы будем делать все вручную и с использованием виртуального окружения. Благо, хостеры заботятся об этом и выкладывают подробную документацию об этапах установки того или иного фреймворка. В частности, на странице:

подробно описываются шаги по развертыванию фреймворка Django. Возможно, вас несколько удивит объем приведенной информации и множества шагов, которые необходимо выполнить для установки Django. Но я для того и записываю видео, чтобы постараться все «разложить по полочкам». Конечно, так, насколько я сам понимаю этот процесс.

Для взаимодействия с хостингом на уровне команд нам потребуется специальная программа SSH-клиент PuTTy. Подробно о ней написано здесь:

и используется для ОС Windows (полагаю, что большинство из вас работают именно под этой системой). Скачиваем файл с этой программой (если ее еще нет у вас, или версия устарела) и запускаем. У нас появится следующее окно:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

В поле «Host Name (or IP address)» вводим SSH-адрес хостинга и нажимаем на кнопку «Open». Появится консольное окно, где нужно ввести логин и пароль, полученный при регистрации:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

В принципе, все эти шаги будем выполнять строго по предоставленной хостером документации (кроме последнего шага). Первым делом нужно войти, в так называемый Docker, чтобы иметь возможность запускать интерпретатор Python и устанавливать необходимые пакеты. Для этого выполним команду:

и еще раз введем пароль. (Список всех команд будет приведен в отдельном файле со ссылкой на github).

а, затем, перейти в него:

Далее, по документации, для сборки интерпретатора Python потребуется библиотека ffi, которую нужно сначала скачать командой:

Источник

Django

Для запуска сайта на Django необходимо, чтобы данный фреймворк был у вас установлен. Сделать это вы можете автоматически через панель управления в разделе «Каталог CMS», вкладка «Прочее» или вручную.

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

Версии Django и Python

На наших серверах доступны две версии интерпретатора: Python 2 и Python 3 (версии 3.4, 3.5, 3.6).

Для работы Python3 используйте для сайта версию PHP 7.x. При выборе более старых версий PHP будет использоваться Python 2.7

Совместимость версий Django и Python:

Версия DjangoВерсии Python
1.112.7, 3.4, 3.5, 3.6, 3.7 (в версии 1.11.17)
2.03.4, 3.5, 3.6, 3.7
2.13.5, 3.6, 3.7
2.23.5, 3.6, 3.7, 3.8 (в версии 2.2.8)
3.03.6, 3.7, 3.8

Установка Django

Шаг 1: установка virtualenv

Установите и активируйте virtualenv по нашей инструкции.

Шаг 2: установка Django

2.1. После можно приступить к установке django с помощью pip:

2.2. Если проект еще не создан, вы можете создать его командой:

Если при выполнении этой команды возникает ошибка:

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

2.3. Далее, чтобы развернуть проект, необходимо создать файл .htaccess в папке public_html сайта со следующим содержанием:

2.4. Там же нужно создать файл index.wsgi.

Для версии django меньше 1.7 cо следующим содержанием:

Для версии django 1.7 и выше cо следующим содержанием:

ПУТЬ_ДО_ПРОЕКТА – это полный путь до папки с проектом Django. Обычно создается в той папке, в которой была введена команда:

Пример полного пути:

Полный путь до вашего проекта можно узнать, введя в консоли:

Если Django устанавливается на основной сайт, то команда будет:

ПУТЬ_ДО_ПАКЕТОВ_PYTHON – это полный путь до папки, которая содержит пакеты Python для виртуального окружения (virtualenv).

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

Где python3.6 – это версия python, выбранная при установке виртуального окружения.

2.5. Далее необходимо добавить список разрешенных хостов (доменов) для проекта Django в файле settings.py, который находится по пути:

Если Django установлен на основной сайт, то команда будет:

В этом файле необходимо найти строку:

И указать в ней используемый домен:

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

2.6. Также рекомендуется включить отладку проекта в том же файле settings.py (обычно включена по умолчанию), отредактировав строку с параметром DEBUG:

В результате при переходе по домену должна отобразиться приветственная страница:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Дополнительную информацию вы можете найти на официальном сайте проекта.

Отображение статических файлов

Для решения данной задачи установите нужное значение константы STATIC_ROOT в файле settings.py вашего приложения.

Значения u и user необходимо заменить на первую букву вашего логина и сам логин.

После выполните активацию виртуального окружения и запустите команду:

Django сгенерирует статические файлы и разместит их в папке, указанной в STATIC_ROOT.

Более подробную информацию можно получить в документации Django.

Также вы можете переместить имеющуюся папку static в директорию public_html. Это тоже позволит отобразить статические файлы.

Источник

Как установить Django на хостинг

Django — популярный, высокоуровневый web-фреймворк. Предназначен для web-приложений на Python, обладает большим набором готовых компонентов, которые будут полезны не только новичкам, но и профессионалам.

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

Как установить Django

Перейдите в раздел WWW-домены, выберите домен, для которого вы хотите установить Django, и нажмите Изменить:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

В разделе «Дополнительные возможности» включите CGI-скрипты, Python, выберите Версию Python и нажмите Ok:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Перейдите в каталог вашего пользователя с помощью команды: cd

Убедитесь, что вы в нужном каталоге, выполнив команду: pwd

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Создайте виртуальное окружение (Virtualenv) с произвольным именем. Виртуальное окружение необходимо создать для версии Python, которой вы планируете пользоваться для вашего проекта. Она должна совпадать с версией в шаге 3.

Чтобы узнать доступные версии Python, выполните команду:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Для создания виртуального окружения выполните команду:

python-3.7.6 — ваша версия Python,

djangoenv — название вашего виртуального окружения.

Активируйте ваше виртуальное окружение с помощью команды:

Где djangoenv — название вашего виртуального окружения.

Если слева от строки ввода команды появилось название вашего виртуального окружения, значит, оно активировалось:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Обновите pip, установите пакеты Django и mysqlclient с помощью команды:

Перейдите в корневой каталог вашего сайта с помощью команды:

Убедитесь, что вы в нужном каталоге, выполнив команду:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Важно: перед созданием проекта удалите все файлы и папки из каталога вашего сайта.

Создайте новый проект в корневом каталоге:

django-admin startproject project_name

Где project_name — название вашего проекта.

Откройте настройки вашего файла командой:

Где project_name — название вашего проекта.

В секции ALLOWED_HOSTS = [] добавьте имя вашего домена и его псевдонимы. Обратите внимание! Домены должны быть в кавычках:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

В секции DATABASES укажите данные для подключения к MySQL:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Если у вас нет базы данных, вы можете создать её по инструкции Как создать базу данных?

Ниже секции STATIC_URL добавьте новую секцию: STATIC_ROOT=’static/’

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

После внесения изменений нажмите ESC для выхода в командный режим. Для сохранения изменений и выхода введите :wq и нажмите «Enter».

Создайте каталог со статическими файлами командой:

python project_name/manage.py collectstatic

Где project_name — название вашего проекта.

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Выполните миграцию в MySQL с помощью команды:

python project_name/manage.py migrate

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Создайте в корневом каталоге вашего сайта конфигурационный файл с именем passenger_wsgi.py и запишите в нем следующее:

В строке sys.path.insert(0, ‘/var/www/u0000006/data/www/faq-reg.ru/project_name’) измените путь к вашему проекту. Вместо u0000006 используйте логин вашей услуги хостинга: Как узнать логин хостинга. Путь к вашему проекту вы можете увидеть в панели управления:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

В строке sys.path.insert(1, ‘/var/www/u0000006/data/djangoenv/lib/python3.7/site-packages’) укажите:

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Готово, по адресу вашего домена должна отобразиться стартовая страница Django.

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Как перезапустить проект на Django

Если вы изменили файлы проекта и хотите увидеть изменения, вам необходимо перезапустить проект. Для этого создайте файл .restart-app в корневой директории вашего сайта. После перезапуска проекта файл будет удалён автоматически.

Источник

Установка Django на виртуальном хостинге

Подготовка

Желательно иметь представление о Python 3 и Bash

Домен

Не забудьте разрешить подключение по FTP и SSH

Docker

Сначала необходимо подключиться к серверу по SSH ( инструкция от Beget )

Вместо username введите имя аккаунта у которого есть доступ к хостингу

Для перехода в виртуальное окружение Docker нужно выполнить следующую команду:

После чего возможно придётся ещё раз ввести пароль для доступа к аккаунту.

Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.9.132-0-beget-acl x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage

Python

Проверить, установлены ли python3 и pip можно командами

Python 3.7.0
pip 20.1 from /home/u/user/.local/lib/python3.7/site-packages/pip (python 3.7)

Проверить где находится python3 можно командой

Установка новой версии Python

Установка Python

Подробнее про установку программ в Linux с помощью configure_make_make-install читайте здесь

/.local/include && cp x86_64-unknown-linux-gnu/include/ffi.h

/.local/include/ && cp x86_64-unknown-linux-gnu/include/ffitarget.h

/.local/include/ (docker) login@server:

/.local/bin/ или алиас для python3,

Проверим путь до python3

Этот путь нам и нужно прописать в PATH. Отбросим только /python3

Виртуальное окружение

Часто полезно пользоваться виртуальным окружением. Создавать их можно разными способами, например с помощью:

Обычно при активации виртуального окружения в терминале перед именем пользователя появляется называние окружения в круглых скобках.

Внутри контейнера вы скорее всего уже видите (docker) а название окружения может и не появиться.

Чтобы проверить перешли вы в окружение или нет выполнитеi

Либо перейдите в интерактивный режим

Выполните две команды

Они должны показать разный результат

Установка Django

Первым делом советую обновить pip

Затем непосредственно установить Django

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Запуск первого проекта в Django

Переходим в директорию в которой нужно создать проект. Например в public_html.

django-admin startproject Project_Name

После удачного выполнения этой команды создаётся директория Project_Name

NB: Если вы пишите код в PyCharm эту директорию нужно кликнуть правой кнопкой мыши и выбрать Mark Directory as → Sources Root

Внутри вложенной директории Project_Name находятся файлы

__init__.py
settings.py
urls.py
wsgi.py

WSGI расшифровывается как Web Server Gateway Interface.

Это стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером, например Apache

Пример файла manage.py

#!/usr/bin/env python «»»Django’s command-line utility for administrative tasks.»»» import os import sys def main (): «»»Run administrative tasks.»»» os.environ.setdefault(‘DJANGO_SETTINGS_MODULE’, ‘Project_Name.settings’) try : from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( «Couldn’t import Django. Are you sure it’s installed and » «available on your PYTHONPATH environment variable? Did you » «forget to activate a virtual environment?» ) from exc execute_from_command_line(sys.argv) if __name__ == ‘__main__’: main()

passenger_wsgi.py

Нужно создать в корне сайта файл passenger_wsgi.py

cd /home/u/user/site.ru
touch passenger_wsgi.py

Для настройки passenger_wsgi.py понадобятся путь до Django и путь до проекта.

Путь до Django можно получить выполнив

Из этого пути нужно оставить

Посмотреть путь до проекта можно перейдя в родительскую директорию Project_Name (директорий Project_Name две нужна более высокого уровня) и выполнив pwd

Пример файла passenger_wsgi.py

Запуск приложения

В каждом проекте (project) обычно используется одно или несколько приложений (application)

Когда все приложения и конфигурации объединены они составляют веб-приложение.

applications + configurations = web application

Создаём первое приложение

python3 manage.py startapp first_app

Появится директория first_app в которой будут следующие файлы

settings.py

Переходим в директорию Project_Name/Project_Name

Редактируем файл settings.py

Добавляем домен, на котором Вы разворачиваете сайт в ALLOWED_HOSTS файла (из проекта) settings.py

Нужно добавить в список установленных приложений наше новое приложение first_app

INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘first_app’, ]

Запуск/Перезапуск сервера

Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов Beget и dreamhost)

Возможно, на вашем хостинге запуск будет осуществляться с помощью runserver

Источник

Как установить Django на хостинг

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

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

Что такое Django и зачем он нужен

Один из популярных фреймворков – Django. Это свободный проект, позволяющий разрабатывать ПО с возможностью полной изоляции отдельных модулей. Фактически веб-ресурсы собираются из двух и более блоков, которые редактируются независимо друг от друга. В этом фреймворке используется принцип разработки, нацеленный на уменьшение дублирования данных (DRY).

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Платформа Django подходит в следующих случаях:

Применение популярного фреймворка позволяет свободно менять исполнителя. У Django есть весьма развитое сообщество разработчиков – в нем легко найти нужную документацию или помощника в доработке готовых модулей или создании новых. Единственное ограничение платформы заключается в необходимости уместить все обрабатываемые данные в единой базе.

Если приложение становится «массивным», то приходится разбивать его на микросервисы, которые обрабатываются отдельно. Такой подход позволяет применять различные сценарии для каждого из независимых модулей. Но рассчитывать только Django не стоит, его возможностей хватит только на реализацию некоторых функций.

Как установить Django на сервер

Сайт, разработанный с включением модулей фреймворка Django, будет работать только при наличии установленной платформы (на хостинге). Есть несколько вариантов ее инсталляции – автоматически (у хостинг-провайдера Timeweb фреймворк можно найти в разделе «Каталог CMS», вкладка «Прочее») или вручную. Второй способ предполагает предварительную установку виртуального окружения virtualenv.

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

Последовательность действий:

Скачать актуальный релиз и распаковать его в корневой каталог:

Создать виртуальное окружение с использованием нужной версии Python:

Активировать виртуальное окружение:

Инсталлировать Django при помощи команды pip:

Если проект еще не создавался, сделать это командой:

По тому же пути разместить файл index.wsgi (он также создается с нуля). Его содержимое для версии Django выше 1.7:

Значение «путь до проекта» – это полный путь до каталога с установленной платформой Django, «путь до пакетов Python» – путь до каталога, куда было установлено виртуальное окружение virtualenv. «Имя проекта» – свободное название по решению администратора. Теперь на очереди создание файла settings.py. Он располагается по пути:

В нем нужно найти строку:

И указать в ней название сайта:

Или сразу нескольких сайтов:

Отладка этого файла поможет убедиться в отсутствии ошибок. Она инициируется внесением в него строки DEBUG = True. Проверить подключение проще всего вводом в адресную строку браузера названия сайта (домена). Если все установилось корректно, пользователь увидит приветственную страницу Django.

Как установить django на хостинг. Смотреть фото Как установить django на хостинг. Смотреть картинку Как установить django на хостинг. Картинка про Как установить django на хостинг. Фото Как установить django на хостинг

Система готова к эксплуатации (развертыванию сайтов). Перед началом программирования стоит уточнить версию Python, которая используется на хостинге, командой python3 – version. Это снизит риски сбоев из-за несовместимости приложения с интерпретатором.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *