华为云云耀云服务器L实例评测|云耀云服务器L实例部署DjangoBlog个人博客系统
- 一、云耀云服务器L实例介绍
-
- [1.1 云耀云服务器L实例简介](#1.1 云耀云服务器L实例简介)
- [1.2 云耀云服务器L实例特点](#1.2 云耀云服务器L实例特点)
- 二、DjangoBlog介绍
-
- [2.1 DjangoBlog介绍](#2.1 DjangoBlog介绍)
- [2.2 DjangoBlog特点](#2.2 DjangoBlog特点)
- 三、本次实践介绍
-
- [3.1 本次实践简介](#3.1 本次实践简介)
- [3.2 本次环境规划](#3.2 本次环境规划)
- 四、检查服务器环境
-
- [4.1 检查云耀云服务器L实例状态](#4.1 检查云耀云服务器L实例状态)
- [4.2 复制弹性公网IP地址](#4.2 复制弹性公网IP地址)
- [4.3 远程连接服务器](#4.3 远程连接服务器)
- [4.4 检查操作系统版本](#4.4 检查操作系统版本)
- [4.5 检查Docker环境](#4.5 检查Docker环境)
- [4.6 检查docker compose版本](#4.6 检查docker compose版本)
- 五、下载DjangoBlog相关镜像
- 六、部署Mysql数据库服务
-
- [6.1 创建Mysql容器](#6.1 创建Mysql容器)
- [6.2 检查Mysql容器状态](#6.2 检查Mysql容器状态)
- [6.3 设置Mysql用户权限](#6.3 设置Mysql用户权限)
- 七、部署DjangoBlog个人博客系统
-
- [7.1 创建DjangoBlog容器](#7.1 创建DjangoBlog容器)
- [7.2 检查DjangoBlog容器状态](#7.2 检查DjangoBlog容器状态)
- [7.3 检查DjangoBlog容器日志](#7.3 检查DjangoBlog容器日志)
- 八、访问DjangoBlog个人博客系统
-
- [8.1 设置管理员账号](#8.1 设置管理员账号)
- [6.2 放行安全组端口](#6.2 放行安全组端口)
- [8.3 访问DjangoBlog首页](#8.3 访问DjangoBlog首页)
- 九、在DjangoBlog发表文章
-
- [9.1 登录DjangoBlog后台管理](#9.1 登录DjangoBlog后台管理)
- [9.2 发表文章](#9.2 发表文章)
- [9.3 查看博文效果](#9.3 查看博文效果)
一、云耀云服务器L实例介绍
1.1 云耀云服务器L实例简介
云耀云服务器L实例是新一代的轻量应用云服务器,专为中小企业和开发者设计,提供便捷的开箱即用体验。该产品提供丰富且经过严格筛选的应用镜像,可一键部署应用,极大程度简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。
1.2 云耀云服务器L实例特点
-
智能不卡顿:华为云擎天架构加持,软硬协同结合AI算法智能调度,为您提供优质性能。华为云全球存算一张网,数据传输时延比眨眼还短,满足游戏、音视频等低网络时延场景的高要求。
-
价优随心用:超高性价比,超低门槛,敞开随心用。多种实例规格,平衡性能与成本。技术升级优化用云成本,普惠更多初创企业和开发者。
-
上手更简单:多种镜像、资源组合一键下单。严选多款高品质镜像,经过华为云官方严格测试,覆盖七大场景,预置模板,快速搭建,安全可信。自动化编排,资源一键开通,业务分钟级上线。平滑学习曲线,向导式应用搭建,应用轻松启用。
-
管理更省心:拓扑、资源、镜像可视化管理,业务架构透明化管理。贴心服务状态提醒,资源续退一键式操作,实现极简管理。资源负载、安全,使用率实时监控,保障服务永远在线。可选配丰富的安全服务,包括丰富的备份、主机安全等服务,提供最高等级的安全防护。
二、DjangoBlog介绍
2.1 DjangoBlog介绍
DjangoBlog是一款基于python3.8和Django4.0的开源个人博客系统。
2.2 DjangoBlog特点
- 文章,页面,分类目录,标签的添加,删除,编辑等。文章、评论及页面支持Markdown,支持代码高亮。
- 支持文章全文搜索。
- 完整的评论功能,包括发表回复评论,以及评论的邮件提醒,支持Markdown。
- 侧边栏功能,最新文章,最多阅读,标签云等。
- 支持Oauth登陆,现已有Google,GitHub,facebook,微博,QQ登录。
- 支持Redis缓存,支持缓存自动刷新。
- 简单的SEO功能,新建文章等会自动通知Google和百度。
- 集成了简单的图床功能。
- 集成django-compressor,自动压缩css,js。
- 网站异常邮件提醒,若有未捕捉到的异常会自动发送提醒邮件。
- 集成了微信公众号功能,现在可以使用微信公众号来管理你的vps了。
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
3.在华为云云耀云服务器L实例上部署DjangoBlog个人博客系统。
3.2 本次环境规划
服务器类别 | 应用镜像 | 内网IP地址 | Docker版本 | Portainer版本 |
---|---|---|---|---|
云耀云服务器L实例 | Docker可视化Portainer | 192.168.0.168 | 24.0.4 | 2.18.4 |
四、检查服务器环境
4.1 检查云耀云服务器L实例状态
在华为云官网购买云耀云服务器L实例完毕后,云耀云服务器L实例会快速启动,在其管理页中会显示状态"运行中"。
4.2 复制弹性公网IP地址
在华为云云耀云服务器L实例管理页面,复制其弹性公网IP地址,,在以后远程连接及访问时需要用上。
4.3 远程连接服务器
使用Xshell远程连接服务器,填写云耀云服务器L实例的弹性公网IP地址,服务器账号密码。
4.4 检查操作系统版本
检查华为云云耀云服务器L实例的操作系统版本,当前版本为Ubuntu 22.04.1 LTS。
bash
root@hcss-ecs-f91c:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
检查内核版本,当前内核版本为5.15.0-60-generic。
bash
root@hcss-ecs-f91c:~# uname -r
5.15.0-60-generic
4.5 检查Docker环境
华为云云耀云服务器L实例使用Portainer的应用镜像时,自动部署Docker环境及安装portainer工具,当前使用Docker版本为
bash
root@hcss-ecs-f91c:~# docker -v
Docker version 24.0.4, build 3713ee1
检查Docker服务状态,确保Docker服务正常运行。
bash
root@hcss-ecs-f91c:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-10-02 15:33:45 CST; 3 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 1340 (dockerd)
Tasks: 72
Memory: 73.2M
CPU: 1min 26.947s
CGroup: /system.slice/docker.service
4.6 检查docker compose版本
检查docker compose版本,当前版本为v2.19.1。
bash
root@hcss-ecs-f91c:~# docker compose version
Docker Compose version v2.19.1
五、下载DjangoBlog相关镜像
从docker hub拉取DjangoBlog和Mysql5.7镜像。
bash
docker pull liangliangyy/djangoblog:latest
docker pull mysql:8.0
六、部署Mysql数据库服务
6.1 创建Mysql容器
使用以下命令,快速创建Mysql容器,数据库版本需要使用8.0及其以上,不然后续安装会出现报错。
bash
docker run -d --name djangoblog-mysql --restart always -e MYSQL_ROOT_PASSWORD=djangoblog -e MYSQL_DATABASE=djangoblog -e MYSQL_USER=djangoblog -e MYSQL_PASSWORD=djangoblog -p 3306:3306 -v /data/djangoblog/mysql:/var/lib/mysql mysql:8.0
6.2 检查Mysql容器状态
检查Mysql容器状态,确保Mysql容器正常启动。
bash
root@hcss-ecs-f91c:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52e4785d1285 mysql:8.0 "docker-entrypoint.s..." 14 seconds ago Up 14 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp djangoblog-mysql
6.3 设置Mysql用户权限
进入到Mysql容器内,给djangoblog用户授权。
bash
docker exec -it djangoblog-mysql /bin/bash # 进入mysql容器内
mysql -uroot -p # 连接本地mysql数据库
在mysql数据库内,给djangoblog用户进行授权。
sql
grant all on djangoblog.* to 'djangoblog'@'%' with GRANT OPTION;
FLUSH PRIVILEGES;
七、部署DjangoBlog个人博客系统
7.1 创建DjangoBlog容器
使用以下命令,创建DjangoBlog容器,容器映射端口为8012。
bash
docker run -d -p 8012:8000 -e DJANGO_MYSQL_HOST=djangoblog-mysql --link=djangoblog-mysql:djangoblog-mysql -e DJANGO_MYSQL_PASSWORD=djangoblog -e DJANGO_MYSQL_USER=root -e DJANGO_MYSQL_DATABASE=djangoblog --name djangoblog liangliangyy/djangoblog:latest
7.2 检查DjangoBlog容器状态
检查DjangoBlog容器运行状态,确保DjangoBlog容器正常启动。
bash
root@hcss-ecs-f91c:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab140391618d liangliangyy/djangoblog:latest "/code/djangoblog/bi..." 19 seconds ago Up 19 seconds 0.0.0.0:8012->8000/tcp, :::8012->8000/tcp djangoblog
52e4785d1285 mysql:8.0 "docker-entrypoint.s..." 7 minutes ago Up 7 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp djangoblog-mysql
7.3 检查DjangoBlog容器日志
检查DjangoBlog容器运行日志,确保DjangoBlog服务正常启动。
bash
docker logs djangoblog
八、访问DjangoBlog个人博客系统
8.1 设置管理员账号
使用以下命令,创建管理员账号。
bash
docker exec -it djangoblog python /code/djangoblog/manage.py createsuperuser
6.2 放行安全组端口
在华为云云耀云服务器L实例的安全组管理页面,入方向放行8012端口。
8.3 访问DjangoBlog首页
访问DjangoBlog前台首页,访问地址:http://弹性公网IP地址:8012/,将IP替换为自己服务器的弹性公网IP地址即可。
九、在DjangoBlog发表文章
9.1 登录DjangoBlog后台管理
选择登录站点,输入刚设置的管理员账号和密码。
输入账号密码完毕后,进入DjangoBlog后台管理页面。
9.2 发表文章
点击文章模块的"增加"选项,进入新增文章编辑页面。
在文档编辑器中,编辑文章内容。
必须选定目录才能保存,点击新增目录分类,填写目录名称Linux。
选择作者和刚新建的分类目录,点击保存。
查看当前文章状态,已经是成功发布状态。
9.3 查看博文效果
访问DjangoBlog首页,可有看到刚发表的文章。