@TOC

一、Django-CMS介绍

1.1 Django-CMS简介

Django-CMS是一款基于Django框架的开源企业内容管理系统,它性能实用、安全可靠,反对拖拽上传图片、轮播图、Docker 部署等性能,可轻松进行二次开发,多用于构建企业官网。

1.2 Django-CMS特点

  • 分层页面
  • 对多语言网站的宽泛内置反对
  • 多站点反对
  • 草稿/公布工作流
  • 版本控制
  • 简单的公布体系结构,也能够在您本人的应用程序中应用
  • 前端内容编辑
  • 嵌套插件的分层内容构造
  • 您本人的应用程序能够挂钩的可扩大导航系统
  • SEO 敌对的网址
  • 旨在齐全集成到其余应用程序中

二、本地环境介绍

2.1 本地环境规划

本次实际为集体测试环境,操作系统版本为centos7.6。
hostnameIP地址操作系统版本Docker版本
jeven192.168.3.166centos 7.620.10.17

2.2 本次实际介绍

1.本次实际部署环境为集体测试环境,生产环境请审慎应用;
2.在Docker环境下胜利部署Django-CMS企业内容管理系统。

三、本地环境查看

3.1 查看Docker服务状态

查看Docker服务是否失常运行,确保Docker失常运行。
[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版本

查看Docker版本
[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701

3.3 查看docker compose 版本

查看Docker compose版本,确保2.0以上版本。
[root@jeven ~]# docker compose versionDocker Compose version v2.6.0

四、下载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
[root@jeven data]# git clone https://github.com/django-cms/django-cms-quickstart.gitCloning 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 183Receiving objects: 100% (301/301), 88.28 KiB | 0 bytes/s, done.Resolving deltas: 100% (171/171), done.
  • 查看目录构造
[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.txt3 directories, 12 files

4.3 查看Dockerfile文件

查看Dockerfile文件内容
[root@jeven django-cms-quickstart]# cat Dockerfile FROM python:3.9WORKDIR /appCOPY . /appRUN pip install -r requirements.txtRUN python manage.py collectstatic --noinputCMD uwsgi --http=0.0.0.0:80 --module=backend.wsgi

4.4 查看docker-compose.yml文件

查看docker-compose.yml文件内容
[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:

五、部署Django-CMS

5.1 构建镜像

构建镜像django-cms-quickstart_web
docker compose build web

查问本地镜像
[root@jeven django-cms-quickstart]# docker images |grep webdjango-cms-quickstart_web                                   latest                 c2c85dab6120   29 minutes ago   1.15GBlihaixin/webssh2                                            ssh                    2e477b65711b   2 years ago      15.8MB

5.2 启动database_default容器

启动database_default容器
docker compose up -d database_default
[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 数据库迁徙

数据库迁徙
docker compose run web python manage.py migrate

5.4 创立用户

创立Django-CMS的治理用户和明码。
docker compose run web python manage.py createsuperuser

5.5 部署Django-CMS

应用docker compose疾速一键部署Django-CMS
[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容器状态
[root@jeven django-cms-quickstart]# docker compose psNAME                                       COMMAND                  SERVICE             STATUS              PORTSdjango-cms-quickstart-database_default-1   "docker-entrypoint.s…"   database_default    running             0.0.0.0:5432->5432/tcp, :::5432->5432/tcpdjango-cms-quickstart-web-1                "python manage.py ru…"   web                 running             0.0.0.0:8000->80/tcp, :::8000->80/tcp

六、拜访Django-CMS

6.1 进入后盾治理登录页面

拜访地址:http://192.168.3.166:8000/admin
账号密码:root/admin,为之前设置好的管理员账号和明码。

6.2 创立测试网站

  • 创立一个测试网站,抉择新建网页。

  • 输出网站的根本信息,以及网站内容。

6.3 拜访测试网站成果

拜访地址:http://192.168.3.166:8000/