Docker развертывает проект системы управления корпоративным контентом Django-CMS с открытым исходным кодом
Docker развертывает проект системы управления корпоративным контентом Django-CMS с открытым исходным кодом

1. Введение в Django-CMS

1.1 Введение в Django-CMS

Django-CMS — это система управления корпоративным контентом с открытым исходным кодом, основанная на платформе Django. Она функциональна, безопасна и надежна. Она поддерживает загрузку изображений методом перетаскивания, карусельные изображения, развертывание Docker и другие функции. разработки и в основном используется для создания официальных корпоративных веб-сайтов.

1.2 Возможности Django-CMS

  • Иерархические страницы
  • Обширная встроенная поддержка многоязычных веб-сайтов.
  • Поддержка нескольких сайтов
  • Рабочий процесс черновика/публикации
  • контроль версий
  • Сложная архитектура публикации, которую также можно использовать в ваших собственных приложениях.
  • Фронтальное редактирование контента
  • Иерархическая структура контента для вложенных плагинов.
  • Масштабируемая навигационная система, к которой могут подключиться ваши собственные приложения.
  • SEO-оптимизированные URL-адреса
  • Разработан для полной интеграции с другими приложениями.

2. Знакомство с местной средой

2.1 Планирование местной окружающей среды

Эта практика представляет собой личную тестовую среду, а версия операционной системы — centos7.6.

hostname

IP-адрес

Версия операционной системы

Докер-версия

jeven

192.168.3.166

centos 7.6

20.10.17

2.2 Введение в эту практику

1. Среда развертывания для этой практики — это персональная тестовая среда. Используйте рабочую среду с осторожностью.

2. Успешно развернули систему управления корпоративным контентом Django-CMS в среде Docker.

3. Проверка местной окружающей среды

3.1 Проверка статуса службы Docker

Проверьте, нормально ли работает служба Docker, и убедитесь, что Docker работает нормально.

Язык кода:shell
копировать
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2023-06-10 00:48:40 CST; 16h ago
     Docs: https://docs.docker.com
 Main PID: 9546 (dockerd)
    Tasks: 15
   Memory: 160.7M

3.2 Проверьте версию Docker

Проверьте версию Докера

Язык кода:shell
копировать
[root@jeven ~]# docker -v 
Docker version 20.10.17, build 100c701

3.3 Проверьте версию Docker Compose

Проверьте версию Docker Compose, чтобы убедиться, что она 2.0 или выше.

Язык кода:shell
копировать
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

4. Загрузите django-cms-quickstart.

4.1 Введение в django-cms-quickstart

В этой версии используется Python 3.9 и последние версии Django 3.2 и Django CMS 3.11.

4.2 Загрузите django-cms-quickstart

  • Загрузите django-cms-quickstart
Язык кода:shell
копировать
[root@jeven data]# git clone https://github.com/django-cms/django-cms-quickstart.git
Cloning into 'django-cms-quickstart'...
remote: Enumerating objects: 301, done.
remote: Counting objects: 100% (118/118), done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 301 (delta 91), reused 56 (delta 56), pack-reused 183
Receiving objects: 100% (301/301), 88.28 KiB | 0 bytes/s, done.
Resolving deltas: 100% (171/171), done.
  • Посмотреть структуру каталогов
Язык кода:shell
копировать
[root@jeven data]# cd django-cms-quickstart/
[root@jeven django-cms-quickstart]# tree -L 2 ./
./
├── backend
│   ├── asgi.py
│   ├── __init__.py
│   ├── settings.py
│   ├── static
│   ├── templates
│   ├── urls.py
│   └── wsgi.py
├── docker-compose.yml
├── Dockerfile
├── LICENSE
├── manage.py
├── README.md
├── requirements.in
└── requirements.txt

3 directories, 12 files

4.3 Просмотр файла Docker

Просмотр содержимого файла Dockerfile

Язык кода:shell
копировать
[root@jeven django-cms-quickstart]# cat Dockerfile 
FROM python:3.9
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
RUN python manage.py collectstatic --noinput
CMD uwsgi --http=0.0.0.0:80 --module=backend.wsgi

4.4 Просмотр файла docker-compose.yml

Просмотрите содержимое файла docker-compose.yml.

Язык кода:shell
копировать
[root@jeven django-cms-quickstart]# cat docker-compose.yml 
version: "3"

services:
  web:
    # the application's web service (container) will use an image based on our Dockerfile
    build: .
    # map the internal port 80 to port 8000 on the host
    ports:
      - "8000:80"
    # map the host directory to app (which allows us to see and edit files inside the container)
    volumes:
      - ".:/app:rw"
      - "./data:/data:rw"
    # the default command to run whenever the container is launched
    command: python manage.py runserver 0.0.0.0:80
    # the URL 'postgres' or 'mysql' will point to the application's db service
    networks:
      - djangocmsnet

    env_file: .env-local

  database_default:
    # Select one of the following db configurations for the database
    image: postgres:13.5-alpine
    ports:
      - "5432:5432/tcp"  # allow your local dev env to connect to the db
    environment:
      POSTGRES_DB: "db"
      POSTGRES_PASSWORD: "password"
      POSTGRES_HOST_AUTH_METHOD: "trust"
      SERVICE_MANAGER: "fsm-postgres"

    networks:
      - djangocmsnet

    volumes:
      - ".:/app:rw"

networks:
  djangocmsnet:

5. Развертывание Django-CMS

5.1 Сборка образа

Создайте образ django-cms-quickstart_web.

Язык кода:shell
копировать
docker compose build web
Вставьте сюда описание изображения
Вставьте сюда описание изображения

Запросить локальное зеркало

Язык кода:shell
копировать
[root@jeven django-cms-quickstart]# docker images |grep web
django-cms-quickstart_web                                   latest                 c2c85dab6120   29 minutes ago   1.15GB
lihaixin/webssh2                                            ssh                    2e477b65711b   2 years ago      15.8MB

5.2 Запуск контейнера data_default

Запустить контейнер data_default.

Язык кода:shell
копировать
docker compose up -d database_default
Язык кода:shell
копировать
[root@jeven django-cms-quickstart]# docker compose up -d database_default
[+] Running 9/9
 ⠿ database_default Pulled                                                                                                  24.9s
   ⠿ 59bf1c3509f3 Already exists                                                                                             0.0s
   ⠿ c50e01d57241 Pull complete                                                                                              0.7s
   ⠿ a0646b0f1ead Pull complete                                                                                              0.8s
   ⠿ 08018e47fc43 Pull complete                                                                                              8.2s
   ⠿ 6014f2775635 Pull complete                                                                                              8.3s
   ⠿ 85760f97d4b8 Pull complete                                                                                              8.4s
   ⠿ 3e07f59f91db Pull complete                                                                                              8.4s
   ⠿ 3f86c399b0a1 Pull complete                                                                                              8.5s
[+] Running 2/2
 ⠿ Network django-cms-quickstart_djangocmsnet          Created                                                               0.1s
 ⠿ Container django-cms-quickstart-database_default-1  Started                                                               0.5s

5.3 Миграция базы данных

Миграция базы данных

Язык кода:shell
копировать
docker compose run web python manage.py migrate
Вставьте сюда описание изображения
Вставьте сюда описание изображения

5.4 Создать пользователя

Создайте администратора и пароль для Django-CMS.

Язык кода:shell
копировать
docker compose run web python manage.py createsuperuser
Вставьте сюда описание изображения
Вставьте сюда описание изображения

5.5 Развертывание Django-CMS

Используйте docker Compose для быстрого развертывания Django-CMS одним щелчком мыши.

Язык кода:shell
копировать
[root@jeven django-cms-quickstart]# docker compose up -d
[+] Running 2/2
 ⠿ Container django-cms-quickstart-web-1               Started                                                               0.8s
 ⠿ Container django-cms-quickstart-database_default-1  Started                                                               0.7s

5.6 Проверка статуса контейнера Django-CMS

Проверьте статус контейнера Django-CMS

Язык кода:shell
копировать
[root@jeven django-cms-quickstart]# docker compose ps
NAME                                       COMMAND                  SERVICE             STATUS              PORTS
django-cms-quickstart-database_default-1   "docker-entrypoint.s…"   database_default    running             0.0.0.0:5432->5432/tcp, :::5432->5432/tcp
django-cms-quickstart-web-1                "python manage.py ru…"   web                 running             0.0.0.0:8000->80/tcp, :::8000->80/tcp

6. Посетите Django-CMS.

6.1. Откройте страницу входа в систему фонового управления.

Адрес доступа: http://192.168.3.166:8000/admin

Пароль учетной записи: root/admin, который представляет собой учетную запись администратора и пароль, установленные ранее.

Вставьте сюда описание изображения
Вставьте сюда описание изображения

6.2 Создайте тестовый сайт

  • Создайте тестовый веб-сайт и выберите «Новая страница».
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Введите основную информацию о веб-сайте, а также его содержание.
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

6.3 Эффект посещения тестового сайта

Адрес доступа: http://192.168.3.166:8000/

Вставьте сюда описание изображения
Вставьте сюда описание изображения

Я участвую во втором этапе специального тренировочного лагеря Tencent Technology Creation 2023 с призовыми эссе, чтобы разделить призовой фонд в 10 000 юаней и часы с клавиатурой.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose