Setup CentOS7 Nginx Uwsgi to serve Django Applications
Оглавление:
- Установка Django на CentOS 7
- 1. Установка Python 3
- 2. Создание виртуальной среды
- 3. Установка Django
- 4. Создание проекта Django
- 5. Тестирование сервера разработки
- 6. Деактивация виртуальной среды
- Вывод
Django - это бесплатная высокоуровневая веб-инфраструктура Python с открытым исходным кодом, предназначенная для помощи разработчикам в создании безопасных, масштабируемых и поддерживаемых веб-приложений.
Существуют разные способы установки Django, в зависимости от ваших потребностей. Он может быть установлен в масштабе всей системы или в виртуальной среде Python с использованием pip. Пакеты Django также включены в репозитории CentOS и могут быть установлены с помощью менеджера пакетов
yum
, но они устарели.
В этом руководстве мы будем устанавливать и настраивать последнюю стабильную версию Django на компьютере CentOS 7 в виртуальной среде Python.
Основное назначение виртуальных сред Python - создание изолированной среды для различных проектов Python. Таким образом, вы можете иметь несколько разных сред Django на одном компьютере и устанавливать определенную версию модуля для каждого проекта, не беспокоясь о том, что это повлияет на другие ваши установки Django. Если вы устанавливаете Django в глобальную среду, вы можете установить только одну версию Django на свой компьютер.
Установка Django на CentOS 7
В следующих разделах приведены пошаговые инструкции по установке Django в виртуальной среде Python на CentOS 7.
1. Установка Python 3
Мы будем устанавливать Python 3.6 из репозиториев Software Collections (SCL).
CentOS 7 поставляется с Python 2.7.5, который является важной частью базовой системы CentOS. SCL позволит вам установить более новые версии python 3.x вместе со стандартным python v2.7.5, чтобы системные инструменты, такие как yum, продолжали работать должным образом.
Для начала включите SCL, установив файл выпуска CentOS SCL, который входит в репозиторий CentOS extras:
sudo yum install centos-release-scl
Как только репозиторий будет включен, установите Python 3.6 с помощью следующей команды:
sudo yum install rh-python36
После установки Python 3.6 мы готовы создать виртуальную среду для нашего приложения Django.
2. Создание виртуальной среды
Начиная с Python 3.6, рекомендуемый способ создания виртуальной среды - использовать модуль
venv
.
Перейдите в каталог, где вы хотели бы хранить виртуальные среды Python 3. Это может быть ваш домашний каталог или любой другой каталог, где у вашего пользователя есть права на чтение и запись.
Создайте новый каталог для вашего приложения Django и перейдите в него:
mkdir my_django_app
cd my_django_app
Чтобы получить доступ к Python 3.6, вам нужно запустить новый экземпляр оболочки с помощью инструмента
scl
:
scl enable rh-python36 bash
Выполните следующую команду, чтобы создать новую виртуальную среду:
python3 -m venv venv
Приведенная выше команда создает каталог с именем
venv
, который содержит копию двоичного
venv
Python, менеджера пакетов Pip, стандартной библиотеки Python и других вспомогательных файлов. Вы можете использовать любое имя для виртуальной среды.
Чтобы начать использовать эту виртуальную среду, вам нужно активировать ее, запустив скрипт
activate
:
source venv/bin/activate
После активации каталог bin виртуальной среды будет добавлен в начало
$PATH
. Кроме того, приглашение вашей оболочки изменится и будет отображать имя виртуальной среды, которую вы используете в данный момент. В нашем случае это
venv
.
3. Установка Django
Теперь, когда виртуальная среда активирована, вы можете использовать
pip
менеджера пакетов Python для установки Django:
pip install django
В виртуальной среде вы можете использовать команду
pip
вместо
pip3
и
python
вместо
python3
.
Для проверки установки используйте следующую команду, которая выведет версию Django:
python -m django --version
На момент написания этой статьи последняя официальная версия Django была 2.1.2.
2.1.2
Ваша версия Django может отличаться от версии, показанной здесь.
4. Создание проекта Django
Для создания нового проекта Django с именем
mydjangoapp
используйте утилиту командной строки
django-admin
:
django-admin startproject mydjangoapp
Команда выше создаст каталог
mydjangoapp
в вашем текущем каталоге.
tree mydjangoapp/
mydjangoapp/ |-- manage.py `-- mydjangoapp |-- __init__.py |-- settings.py |-- urls.py `-- wsgi.py
Внутри этого каталога вы найдете основной скрипт для управления проектами с именем
manage.py
и другой каталог, включающий конфигурацию базы данных, а также настройки Django и приложения.
Давайте перенесем базу данных и создадим администратора.
Начните с
mydjangoapp
каталог
mydjangoapp
:
cd mydjangoapp
По умолчанию Django использует базу данных SQLite. Для производственных приложений вы можете использовать PostgreSQL, MariaDB, Oracle или MySQL Database.
Выполните следующую команду для переноса базы данных:
python manage.py migrate
Вывод будет выглядеть примерно так:
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial… OK Applying auth.0001_initial… OK Applying admin.0001_initial… OK Applying admin.0002_logentry_remove_auto_add… OK Applying admin.0003_logentry_add_action_flag_choices… OK Applying contenttypes.0002_remove_content_type_name… OK Applying auth.0002_alter_permission_name_max_length… OK Applying auth.0003_alter_user_email_max_length… OK Applying auth.0004_alter_user_username_opts… OK Applying auth.0005_alter_user_last_login_null… OK Applying auth.0006_require_contenttypes_0002… OK Applying auth.0007_alter_validators_add_error_messages… OK Applying auth.0008_alter_user_username_max_length… OK Applying auth.0009_alter_user_last_name_max_length… OK Applying sessions.0001_initial… OK
После переноса базы данных создайте пользователя с правами администратора, чтобы вы могли использовать интерфейс администратора Django:
python manage.py createsuperuser
Команда запросит у вас имя пользователя, адрес электронной почты и пароль для вашего администратора.
Username (leave blank to use 'linuxize'): admin Email address: [email protected] Password: Password (again): Superuser created successfully.
5. Тестирование сервера разработки
Запустите веб-сервер разработки с помощью сценария
manage.py
за которым
runserver
опция
runserver
:
python manage.py runserver
Вы увидите следующий вывод:
Performing system checks… System check identified no issues (0 silenced). October 20, 2018 - 11:16:28 Django version 2.1.2, using settings 'mydjangoapp.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
Если вы установили Django на виртуальную машину и хотите получить доступ к серверу разработки Django, вам нужно отредактировать файл
settings.py
и добавить IP-адрес
ALLOWED_HOSTS
список
ALLOWED_HOSTS
.
Откройте
http://127.0.0.1:8000
в своем веб-браузере, и вы увидите целевую страницу Django по умолчанию:



Чтобы остановить сервер разработки, введите
CTRL-C
в своем терминале.
6. Деактивация виртуальной среды
Как только вы закончите свою работу, деактивируйте среду, набрав
deactivate
и вы вернетесь к своей обычной оболочке.
Вывод
Вы узнали, как создать виртуальную среду Python и установить Django на вашем компьютере с CentOS 7. Чтобы создать дополнительные среды разработки Django, повторите шаги, описанные в этом руководстве.
питон сентосРуководство по привратнику: как с его помощью установить и установить приложения Mac
Узнайте больше о Gatekeeper и о том, как использовать его для установки самых безопасных приложений на ваш Mac.
Как установить Django на Ubuntu 18.04
Django - это бесплатная высокоуровневая веб-инфраструктура Python с открытым исходным кодом, предназначенная для помощи разработчикам в создании безопасных, масштабируемых и поддерживаемых веб-приложений. В этом руководстве представлены пошаговые инструкции по установке Django в виртуальной среде Python в Ubuntu 18.04.
Как установить Django на Debian 9 Linux
Django - это самая популярная веб-среда Python, разработанная для помощи разработчикам в создании безопасных, масштабируемых и поддерживаемых веб-приложений. Django может быть установлен в масштабе всей системы или в виртуальной среде Python с использованием pip.







