华为云云耀云服务器L实例评测|云耀云服务器L实例部署DjangoBlog个人博客系统

华为云云耀云服务器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首页,可有看到刚发表的文章。

相关推荐
yilylong27 分钟前
鸿蒙(Harmony)实现滑块验证码
华为·harmonyos·鸿蒙
baby_hua28 分钟前
HarmonyOS第一课——DevEco Studio的使用
华为·harmonyos
weixin_4426434243 分钟前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
Karoku0661 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
半桶水专家1 小时前
用go实现创建WebSocket服务器
服务器·websocket·golang
布值倒区什么name1 小时前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
。puppy2 小时前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
EricWang13583 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
算法与编程之美4 小时前
文件的写入与读取
linux·运维·服务器