Установка Django и запуск на VPS Ubuntu с доступом через домен

👁 69 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Установка Django

Для начала нам нужно установить Python 2.7 или установить Python 3.6 с инструментом virtualenv, при помощи которого создаем виртуальную среду(например myenv) и в активированном режиме выполняем команду установки

(myenv)root@username:/home/myenv# pip3 install django

Замечание. Если мы используем интерпретатор версии 2.x, то пакетный менеджер по умолчанию будет просто pip, а если используется версия 3.x, то он будет называться pip3. В данном примере используется интерпретатор 3.6.

Далее создаем проект Django

(myenv)root@username:/home/myenv# django-admin startproject mysite

Теперь в папке(виртуальной среде) myenv будет новая папка mysite,  в котором будет наш проект наш Django

Заходим в саму папку проекта mysite и мигрируем туда инструменты Django командой

(myenv)root@username:/home/myenv/mysite# python manage.py migrate

 

Замечание по возможным ошибкам. Вероятно, что появится ошибка версий, если помимо Python 3.7 у нас в системе Python 2.7, 3.5, 3.6 … и выглядит это так:

Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 14, in <module>
) from exc
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?

Чтобы это решить нужно либо поменять алиас

alias python=/usr/bin/python3.6

Замечание. Команда добавления алиаса выше в идеале должна создать равносильную ссылку команды python с python3. Но, вероятно, что он может не сработать и тогда придется вручную править файл .bashrc

nano ~/.bashrc

и добавляем туда линк

alias python=python3

Файл .bashrc предназначен для задания псевдонимов команд и функций, используемых пользователями оболочки bash.

Либо запустить команды Django той версией, которая подходит

(myenv)root@username:/home/myenv/mysite# python3.6 manage.py migrate

Даем доступ к нашему проекту из вне, разрешив адрес сервера в файле проекта

mysite
|______mysite
           |______settings.py

и задаем параметр, как адрес нашего VPS

ALLOWED_HOSTS = ["66.54.87.12"]

 

Замечание. Если проект запускается на локальном хостинге, то можно не указывать порт и адрес, а в файле настроек settings.py оставляем все как есть или указываем адрес 127.0.0.1

Запускаем сервер по IP адресу

(myenv)root@username:/home/myenv/mysite# python manage.py runserver 0:8001

Замечание. Цифра 0 означает,что мы запускаем наш сайт по адресу 0.0.0.0:8001 это говорит нам о том, что к нашему проекту отныне можно получить доступ из вне через IP VPS.

Запуск и создание администратора сайта

Теперь зайдя по адресу нашего IP мы увидим страницу приветствия проекта Django

Давайте теперь создадим нового суперпользователя для нашего проекта Django

(myenv)root@username:/home/myenv/mysite# python manage.py createsuperuser

Данная команда далее запросит имя пользователя, электронную почту и пароль, при помощи которых мы сможем войти в панель управления проектом через адрес 66.54.87.12:8001/admin

После удачного входа мы увидим страницу администратора