828华为云征文|华为云Flexus X实例docker部署mediacms,功能齐全的现代化开源视频和媒体CMS
- 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧!
什么是华为云Flexus X实例
- 华为云Flexus X实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。
- Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。
开始接触华为云Flexus云服务器X实例
-
获取华为云Flexus云服务器X实例后第一步就是先去华为云上重置服务器密码
-
重置完毕后用ssh工具登录华为云服务器,这里我用的是finalshell,也可以用其他工具登陆比如xshell或者Putty都可以
-
登录上去查看硬盘大小,可以看到是100g硬盘,硬盘总大小是正常的
root@flexusx-ebe8:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.2G 1.1M 1.2G 1% /run
/dev/vda1 99G 4.2G 90G 5% /
tmpfs 5.7G 0 5.7G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.2G 4.0K 1.2G 1% /run/user/0
- 然后输入
ufw status
可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了
root@flexusx-ebe8:~# ufw status
Status: inactive
docker环境的安装
- 然后进行docker容器的安装,安装最新版本的docker
- 这里因为docker现在已经无法直接通过网络安装,所以我们通过离线安装的方式安装docker环境
- 从官网下载离线包
https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/
- 如图所示,把离线包传到服务器上,进行安装
dpkg -i *.deb
- 查看安装的docker版本
root@flexusx-ebe8:/home/docker# docker -v
Docker version 27.1.2, build d01f264
docker-compose安装
- docker容器安装完毕后,开始安装docker-compose
https://github.com/docker/compose/tags
离线下载docker-compose的包- 因为我是x86-64的环境,所以从中找到docker-compose-linux-x86_64进行下载
- 下载完毕后上传到服务器,然后执行
sudo cp -f docker-compose-linux-x86_64 /usr/local/bin/docker-compose
- 然后授予可执行权限,
sudo chmod +x /usr/local/bin/docker-compose
- 查看docker-compose版本
root@flexusx-ebe8:/# sudo docker-compose -v
Docker Compose version v2.29.2
- 这样docker-compose就安装完毕了
什么是mediacms
- MediaCMS 是一个开源的内容管理系统,主要用于视频和媒体共享。它基于 Django Web 框架,前端使用 React,提供了一个现代化且可定制的平台,允许用户创建类似 YouTube 的网站,用于共享视频、音频和图像。
- 此外,MediaCMS 允许用户对上传的媒体进行分类、打标签,并提供嵌入、分享和下载选项。用户可以将媒体分享至多个社交平台,并生成嵌入代码用于在其他网站展示视频。系统内置评论、点赞和浏览计数等功能,方便用户互动和内容管理。
开始部署mediacms
-
先去github上找到mediacms
https://github.com/mediacms-io/mediacms/tree/main
-
然后把代码打包下载下来,放到服务器上
-
配置管理员密码
-
输入
docker-compose up
root@flexusx-ebe8:/home/docker/mediacms/mediacms-main# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@flexusx-ebe8:/home/docker/mediacms/mediacms-main# docker-compose up -d
WARN[0000] The "POSTGRES_DB" variable is not set. Defaulting to a blank string.
WARN[0000] The "POSTGRES_USER" variable is not set. Defaulting to a blank string.
WARN[0000] /home/docker/mediacms/mediacms-main/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 6/6✔ Container mediacms-main-redis-1 Healthy 30.7s ✔ Container mediacms-main-celery_beat-1 Started 0.4s ✔ Container mediacms-main-db-1 Healthy 10.2s ✔ Container mediacms-main-migrations-1 Started 30.9s ✔ Container mediacms-main-celery_worker-1 Started 31.2s ✔ Container mediacms-main-web-1 Started
- 查看mediacms状态 输入
docker ps
root@flexusx-ebe8:/home/docker/mediacms/mediacms-main# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a10bb61ba0a mediacms/mediacms:latest "./deploy/docker/ent…" 4 minutes ago Up 31 seconds 80/tcp, 9000/tcp mediacms-main-celery_worker-1
f16673165f0e mediacms/mediacms:latest "./deploy/docker/ent…" 4 minutes ago Up 31 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 9000/tcp mediacms-main-web-1
883ff64c0638 mediacms/mediacms:latest "./deploy/docker/ent…" 4 minutes ago Up About a minute 80/tcp, 9000/tcp mediacms-main-celery_beat-1
81b825bae6bf postgres:15.2-alpine "docker-entrypoint.s…" 4 minutes ago Up About a minute (healthy) 5432/tcp mediacms-main-db-1
a47ca9778e33 redis:alpine "docker-entrypoint.s…" 4 minutes ago Up About a minute (healthy) 6379/tcp mediacms-main-redis-1
- 此时mediacms已经部署好了,但还需要去华为云服务器安全组开放端口
配置Flexus云服务器X实例安全组
-
经过上面部署mediacms服务,这时候服务是已经部署完毕了,但是我们还没法通过外网进行访问,还需要对Flexus云服务器X安全组的配置进行修改
-
进入安全组的配置页面
-
新建安全组
-
这里我们开放80与9000端口
-
然后加入新建的安全组
-
这样我们的实例的端口也就开放成功了
访问 mediacms Web 界面
-
输入弹性公网ip:80,访问页面
-
输入账号密码登录
-
开始使用mediacms上传图片
-
可以看到成功上传了图片
-
使用mediacms上传视频
-
播放视频
-
至此华为云Flexus X实例docker部署mediacms,功能齐全的现代化开源视频和媒体CMS大功告成