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

相关推荐
wkj00132 分钟前
QuaggaJS 配置参数详解
java·linux·服务器·javascript·quaggajs
程序员小刘2 小时前
【HarmonyOS 5】教育开发实践详解以及详细代码案例
华为·wpf·harmonyos
ZZZKKKRTSAE2 小时前
快速上手Linux全局搜索正则表达式(grep)
linux·服务器·正则表达式
有谁看见我的剑了?2 小时前
stress 服务器压力测试的工具学习
服务器·学习·压力测试
有谁看见我的剑了?2 小时前
stress-ng 服务器压力测试的工具学习
服务器·学习·压力测试
余厌厌厌3 小时前
go语言学习 第9章:映射(Map)
服务器·学习·golang
waving-black3 小时前
利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
linux·服务器·腾讯云·frp·内网穿透
stormsha4 小时前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
21号 18 小时前
9.进程间通信
linux·运维·服务器