Fornex
Европейский
хостинг

Для добавления приложения нам потребуется в первую очередь добавить домен, на котором оно будет работать, в cPanel.
Это необходимо сделать через меню Дополнительные домены.

file

После добавления домена можно разместить существующее приложение используя git или загрузив его при помощи FTP-клиента в папку добавленного домена.

Создание нового приложения.

Для создания нового приложения можно использовать SSH-доступ к хостингу, через Терминал в панели или подключившись через удобный Вам клиент для доступа, к примеру, Putty.

Открываем меню Настройка Python приложений и создаем приложение с нужной нам версией python, при создании указываем путь к каталогу созданного ранее сайта в поле App Directory.

file

После создания приложения подключаемся по ssh, переходим в каталог приложения и входим в виртуальное окружение. Команда для входа в виртуальное окружение будет отображена в настройках добавленного нами приложения.

file

Перед установкой необходимых модулей для django мы подключем уже установленные модули для работы с БД MySQL.

Добавление в виртуальное окружение модуля mysqlclient

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

В данном случае мы сделаем симлинк на модули mysqlclient и MySQLdb - рекомендуемые для подключения к mysql в Django.

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

file

В каталоге виртуального окружения создаем симлинк на модуль MySQLdb командой.

ln -s /opt/alt/python35/lib64/python3.5/site-packages/MySQLdb ./lib64/python3.5/site-packages/  

Для модуля mysqlclient команда соответственно будет такой.

ln -s /opt/alt/python35/lib64/python3.5/site-packages/mysqlclient-* ./lib64/python3.5/site-packages/  

file

*Для другой версии python, к примеру, для версии 3.7 симлинк нужно делать с другой папки.
/opt/alt/python37/lib64/python3.7/site-packages/ *

Далее переходим в виртуальное окружение и устанавливаем необходимые для Django модули - Django и django-admin.

Используем для установки команду pip install django django-admin

file

После завершения установки модулей мы можем посмотреть версии установленных в окружении модулей при помощи команды pip list или в cPanel во вкладке modules.

file

Далее создаем наше приложение при помощи команды django-admin startproject django_test ., замените название проекта(django_test) на желаемое. Точка в конце команды указывает на то, что проект должен быть создан в текущей папке.

После выполнения команды будет добавлен каталог приложения в текущей папке, название папки проекта соотсветсвует имени проекта, в нашем случае - django_test, и файл manage.py.

file

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

Настройка работы django c mysql

Далее настроим подключение к БД mysql, для этого редактируем настройки приложения в файле название_проекта/settings.py, и вместо sqlite указываем подключение к БД MySQL.

Необходимо заменить указанную ниже часть файла settings.py.

# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases

DATABASES = {  
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

На такие значения

DATABASES = {  
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database',
        'USER': 'database_user',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': 'SET default_storage_engine=INNODB',
        }
    }
}

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

После обновления данных в настройках запускаем миграцию данных в корневом каталоге сайта.
python manage.py migrate

Результат запуска команды в консоли будет выглядеть следующим образом.
file

Важно: не забудьте указать название Вашего домена в файле название_проекта/settings.py, для корректной работы приложения.

Пример для домена django-test.com выглядит следующим образом.

file

После изменения параметров необходимо перезапустить приложение, для этого в параметрах приложения в cPanel нажимаем кнопку Restart.

file

Далее в панели указываем путь к файлу wsgi, вводить требуется полный путь, а не относительный. Для нашего проекта путь будет следующим.

/home/user/public_html/django-test.com/django_test/wsgi.py

Так же обазтельно необходимо указать тип приложения через двоеточие после указания полного пути, для Django необходимо указать application.

file
После указания необходимых данных нажимаем Update. Будет автоматически создан файл passenger_wsgi.py в котором будет указан путь к файлу wsgi.py в каталоге приложения, этот файл нужен для корректного запуска приложения.

Если ошибок при обновлении приложения не возникло - настройка завершена. Вы можете перейти на Ваш сайт в браузере и проверить его работу.

file

На Виртуальном хостинге используются версии Python: 2.7, 3.3, 3.4, 3.5, 3.6, 3.7