Как установить Django на VDS хостинг: пошаговая инструкция

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

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

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

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

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

Платформа Django актуальная в трёх случаях.

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

Нужно учитывать, что развернуть проект Django на хостинге можно только при использовании основного домена. Этот фреймворк не подходит для автоподдоменов, но можно использовать поддомен как самостоятельный сайт. Кроме того, управлять им можно только с помощью CMS ISPmanager.

Установка Django на хостинг с помощью панели ISPmanager

Первый шаг перед установкой инструмента – проверка наличия программ: Nginx, Python и сервера MySQL. Для этого зайдите в панель управления ISPmanager, в главном меню слева выберите «Настройки» и перейдите в раздел «Конфигурация ПО». Обращаем внимание, что у пользователя, который будет создавать сайт, должно быть разрешение на использование Python (указывается в настройках панели).

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

Вернитесь в раздел Сайты основного меню и перейдите к редактированию созданного сайта.

В пункте Обработчик укажите способ подключения Порт.

Теперь перейдите в файлы конфигурации сайта. В разделе Конфигурационный файл Python введите Django и сохраните изменения.

Вернитесь в раздел «Сайты» и, нажав на три точки справа, выберите пункт «Shell-клиент». 

На открывшейся странице введите поочередно команды, указанные ниже:

source .venv/bin/activate

pip install --upgrade pip

pip install wheel

pip install mysqlclient (Если у вас возникает проблема установки mysqlclient,  то загрузите конкретную версию, например, pip install mysqlclient==2.1.0).

django-admin startproject django_name (django_name – это название вашего проекта Django).

Затем перейдите в менеджер файлов вашего сайта.

Выберите папку django name и откройте файл settings.py (Три точки справа → Открыть). Найдите запись ALLOWED_HOSTS и укажите имя вашего домена и его псевдонимы в квадратных скобках. Название доменов вводятся в кавычках.

В разделе DATABASES введите информацию ниже для подключения к базе данных. Если у вас нет базы данных – создайте ее.

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'имя_базы_данных',

        'USER': 'имя_пользователя_базы_данных',

        'PASSWORD': 'пароль_базы_данных',

        'HOST': '<ip-адрес или localhost>', 

  }

}

В пункте STATIC_URL добавьте: STATIC_ROOT='static/'.

Сохраните выполненные изменения.

Откройте меню Сайты и нажмите на три точки напротив вашего сайта, выберите Shell-клиент. Введите команды, чтобы создать каталог со статическими файлами:

source .venv/bin/activate

python django_name/manage.py collectstatic

И сделать миграцию MySQL:

python django_name/manage.py migrate

В корневом каталоге сайта (Сайты → Файлы сайта) создайте файл конфигурации passenger_wsgi.ру. Теперь откройте созданный файл и сохраните команды:

  1. #-*- coding: utf-8 -*-

  2. import os, sys

  3. sys.path.insert(0, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/django_name')

  4. sys.path.insert(1, '/var/www/<имя пользователя панели>/data/www/<имя сайта>/.venv/lib/python<номер версии>/site-packages')

  5. os.environ['DJANGO_SETTINGS_MODULE'] = 'django_name.settings'

  6. from django.core.wsgi import get_wsgi_application

  7. application = get_wsgi_application() 

Перейдите в раздел Сайты, нажмите на три точки напротив вашего сайта и нажмите перезапустить (Python). Теперь вы можете открыть Django в браузере. 

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

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

В открывшемся окне задайте имя и тип (необходимо указать «файл»). Нажмите кнопку «Создать».

После выполненных действий проект будет перезапущен, а сам файл удалится из системы.

Как запустить сайт на Django без ошибок: с какими трудностями сталкиваются пользователи

Иногда ошибки возникают при создании каталога со статическими файлами. В этом случае нужно проверить файл settings.py. Возможно, некорректно указано название домена, нет одинарных кавычек.

Проблема может быть связана с разными окружениями, так как перенос Django проекта на хостинг затрагивает несколько сред: локальную, dev, ci, qa и другие. Каждая из них имеет свои настройки. Например, значение DEBUG = True. В них придётся внимательно разобраться.

Некоторые пользователи сталкиваются с ошибкой 500. Чаще всего она возникает, если неправильно указан путь к папкам. Корректный путь можно узнать с помощью команды pwd.

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

Всё ещё остались вопросы?