1-й безопасный хостинг

Установка Django на хостинге

1. Переходим в панель управления хостингом.
2. Настройка www-домена.
2.1. WWW -> WWW-домены -> Выбрать свой домен -> Изменить.
2.2. Включить галочку "CGI-скрипты", затем включить галочку "Задействовать wsgi"

2.3. Сохранить изменения (нажать ОK)

3. Перейти в Инструменты -> Shell-клиент

4. В командной строке выполнить команды:

4.1. Создать виртуальное окружение (где env_django - наименование окружения)


python3 -m venv env_django

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


source env_django/bin/activate

4.3. Обновить pip


pip install --upgrade pip

4.4. Установить django


pip install django

4.5. Установить mysql клиент для работы с БД MariaDb/MySQL


CFLAGS="-std=c99" pip install mysqlclient

4.6. Перейти в корневой каталог сайта (где some_site.ru - папка сайта)


cd www/some_site.ru
4.7. Удалите файлы и папки из каталога, если они там есть. Он должен быть пустым.

4.8. Создаем новый проект в корневом каталоге сайта (some_prog - название проекта)


django-admin.py startproject some_prog

5. Настройка проекта. Следующие шаги, кроме шага 10, выполняются в случае создания нового проекта. Уже существующий проект вы можете закачать через "Менеджер файлов". Создать, если требуется, базу данных MySQL через "Базы данных" в панели управления и выполнить необходимые настройки самого проекта на Django. В конце выполните шаг 10 для запуска проекта.

5.1. Откройте редактором настройки вашего проекта (WWW-домены -> Выберите ваш домен -> Нажать кнопку "Каталог").

5.2. Откройте файл some_prog/some_prog/settings.py , где some_prog - название вашего проекта из шага 4.8

5.3. Находим в файле параметр ALLOWED_HOSTS, вносим туда имя и псевдонимы www-домена в кавычках

ALLOWED_HOSTS = ['some_site.ru', 'www.some_site.ru']

5.4. Находим в файле параметр "DATABASES", вносим туда настройки подключения к БД (создав ее через панель (Главное -> Базы данных)) (127.0.0.1, если используется БД, созданная в панели хостинга)


DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'имя_базы_данных',
         'USER': 'имя_пользователя_базы_данных',
         'PASSWORD': 'пароль_базы_данных',
         'HOST': '127.0.0.1',
         'PORT': '3306'
    }
}

5.5. Под секцией STATIC_URL добавить секцию


STATIC_ROOT = 'static/'
5.6. Сохранить изменения нажатием кнопки "Сохранить"
6. Возвращаемся в Shell-клиент (Инструмент -> Shell-клиент)
6.1. Активируем созданное ранее окружение

source env_django/bin/activate
6.2. Переходим в корневую папку сайта

cd www/some_site.ru
6.3. Создаем каталог со статическими файлами

python3 some_prog/manage.py collectstatic
где some_prog - название проекта
7. Выполнить миграцию в MySQL через команду

python3 some_prog/manage.py migrate
8. Узнать путь до папки сайта, выполнив команду

pwd
9. Перейти в WWW -> WWW-домены -> домен -> кнопка "Каталог".
10. Создаем в корне сайта файл wsgi.py следующего содержания:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-



import os, sys



sys.path.insert(0, '/var/www/user/data/www/some_site.ru/some_prog')

sys.path.insert(1, '/var/www/user/data/env_django/lib/python3.6/site-packages')

os.environ['DJANGO_SETTINGS_MODULE'] = 'some_prog.settings'

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()
где: user - имя пользователя в системе, полученное на шаге 8, some_site.ru - адрес сайта, some_prog - название проекта (шаг 4.8), env_django - наименование виртуального окружения (шаг 4.1)
11. Готово.
Не нашли ответ на свой вопрос?
Наша квалифицированная техническая поддержка работает 24/7.
Нажмите на «Задать вопрос» и расскажите что у вас не получается.