• 华为云云耀云服务器L实例评测|云耀云服务器L实例部署Bolo开源个人博客


    一、云耀云服务器L实例介绍

    1.1 云耀云服务器L实例简介

    云耀云服务器L实例是新一代的轻量应用云服务器,专为中小企业和开发者设计,提供便捷的开箱即用体验。该产品提供丰富且经过严格筛选的应用镜像,可一键部署应用,极大程度简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。

    在这里插入图片描述

    1.2 云耀云服务器L实例特点

    • 智能不卡顿:华为云擎天架构加持,软硬协同结合AI算法智能调度,为您提供优质性能。华为云全球存算一张网,数据传输时延比眨眼还短,满足游戏、音视频等低网络时延场景的高要求。

    • 价优随心用:超高性价比,超低门槛,敞开随心用。多种实例规格,平衡性能与成本。技术升级优化用云成本,普惠更多初创企业和开发者。

    • 上手更简单:多种镜像、资源组合一键下单。严选多款高品质镜像,经过华为云官方严格测试,覆盖七大场景,预置模板,快速搭建,安全可信。自动化编排,资源一键开通,业务分钟级上线。平滑学习曲线,向导式应用搭建,应用轻松启用。

    • 管理更省心:拓扑、资源、镜像可视化管理,业务架构透明化管理。贴心服务状态提醒,资源续退一键式操作,实现极简管理。资源负载、安全,使用率实时监控,保障服务永远在线。可选配丰富的安全服务,包括丰富的备份、主机安全等服务,提供最高等级的安全防护。

    二、Bolo介绍

    2.1 Bolo简介

    Bolo是基于 Java 的一款开源博客引擎,它基于 Latke 框架搭建,响应速度快,占用资源小;Bolo 完全免费,代码全部开源且允许二次开发自用。如果你在寻找一款美观、全面但不复杂的个人博客引擎,Bolo博客是一个不错的选择!

    2.2 Bolo特点

    • 完整的教程文档,完善的交流答疑
    • 精美皮肤常更新
    • 支持将文章自动备份至 GitHub 仓库
    • 超酷的数据统计表
    • 本地登录、评论,支持备案模式(隐藏登录、评论及搜索入口)
    • 支持 Tomcat、Docker 快速部署
    • 邮件提醒功能,不怕错过博客中的新评论,回复他人评论也会发邮件提醒他人
    • 强大的 Vditor 编辑器,支持 所见即所得、即时渲染、分屏预览 三种模式,额外支持通过 Lute_HTTP 渲染
    • 支持自定义图床(阿里云、又拍云、七牛云)
    • 轻型防火墙功能,阻止恶意访问,保证博客正常运行
    • 强大的 Markdown 编辑器(使用 Vditor)支持大纲、数学公式、脑图、图表、流程图、甘特图、时序图、五线谱、多媒体、语音阅读、标题锚点、代码高亮及复制、graphviz 渲染
    • 支持黑暗模式,随系统设置自动切换,保护视力
    • 看板娘+,在线更新海量看板娘资源
    • 如果你是 Solo 用户,还可将 Solo 的数据一键迁移到 Bolo;如果你对 Bolo 不满意,还可以一键迁回至 Solo
    • Server 酱推送功能,在微信上接收你的博客动态
    • 自动生成“我在 GitHub 上的开源项目”文章功能,让博客的访客更好地了解你的 GitHub 履历

    三、本次实践介绍

    3.1 本次实践简介

    1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
    2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
    3.由于使用的应用镜像为Portainer,云服务器自动已部署好Docker环境;
    4.在华为云云耀云服务器L实例上部署Bolo开源个人博客。

    3.2 本次环境规划

    服务器类别应用镜像内网IP地址Docker版本Portainer版本操作系统版本Bolo版本
    云耀云服务器L实例Docker可视化Portainer192.168.0.16824.0.42.18.4Ubuntu 22.04.1 LTS稳定版V2.6

    四、检查服务器环境

    4.1 查看云耀云服务器L实例状态

    本次实践前提是已购买华为云云耀云服务器L实例,检查当前云耀云服务器L实例状态处于正常运行中。

    在这里插入图片描述

    4.2 复制弹性公网IP地址

    点击进入云耀云服务器L实例管理页面,复制其弹性公网IP地址,后面远程连接以及外网访问都要用上。

    在这里插入图片描述

    4.3 Xshell远程连接服务器

    在Xshell工具中,填写服务器弹性公网IP地址、账号密码信息,ssh连接远程服务器。

    在这里插入图片描述

    4.4 检查操作系统版本

    华为云耀云服务器L实例使用Portainer应用镜像时,使用的操作系统版本为Ubuntu 22.04.1 LTS。

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4.5 检查Docker环境

    检查Docker版本,当前版本为24.0.4。

    root@hcss-ecs-f91c:~# docker -v
    Docker version 24.0.4, build 3713ee1
    
    • 1
    • 2

    检查Docker服务状态,确保Docker服务正常运行。

    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; 20h ago
    TriggeredBy: ● docker.socket
           Docs: https://docs.docker.com
       Main PID: 1340 (dockerd)
          Tasks: 92
         Memory: 57.6M
            CPU: 26.349s
         CGroup: /system.slice/docker.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    4.6 检查docker compose版本

    检查docker compose版本,确保docker compose可以正常使用。

    root@hcss-ecs-f91c:~# docker compose  version
    Docker Compose version v2.19.1
    
    • 1
    • 2

    五、部署Mysql数据库

    5.1 下载Mysql镜像

    在docker hub拉取Mysql镜像,容器镜像为mysql:5.7。

    docker pull mysql:5.7
    
    • 1

    在这里插入图片描述

    5.2 创建挂载目录

    执行以下命令,创建Mysql容器的挂载目录。

    mkdir -p /data/bolo/mysql
    
    • 1

    5.3 创建Mysql容器

    执行以下命令,创建Mysql容器。

    docker run -d --name bolo-mysql --restart always -e MYSQL_ROOT_PASSWORD=bolo -e MYSQL_DATABASE=solo -e MYSQL_USER=bolo -e MYSQL_PASSWORD=bolo -p 3306:3306  -v /data/bolo/mysql:/var/lib/mysql  mysql:5.7
    
    • 1

    在这里插入图片描述

    5.4 检查Mysql容器状态

    检查Mysql容器状态,确保Mysql容器正常启动。

    root@hcss-ecs-f91c:~/bolo-solo# docker ps
    CONTAINER ID   IMAGE                                                 COMMAND                  CREATED          STATUS          PORTS      NAMES
    d676994e69e0   mysql:5.7                                             "docker-entrypoint.s…"   30 seconds ago   Up 30 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp      bolo-mysql
    
    • 1
    • 2
    • 3

    5.5 设置Mysql用户权限

    进入到Mysql容器内,给bolo用户授权。

    docker exec -it bolo-mysql /bin/bash  # 进入mysql容器内
    mysql -uroot -p        # 连接本地mysql数据库
    
    • 1
    • 2

    在这里插入图片描述

    给bolo用户进行授权。

    GRANT ALL PRIVILEGES ON solo.* TO 'bolo'@'%' IDENTIFIED BY 'bolo';
    FLUSH PRIVILEGES;
    
    • 1
    • 2

    在这里插入图片描述

    六、构建Bolo容器镜像

    6.1 下载Bolo源码

    在github拉取Bolo源码,如果github拉取失败,可以使用国内码云: https://gitee.com/AdlerED/bolo-solo。

    git clone  https://github.com/adlered/bolo-solo
    
    • 1

    在这里插入图片描述

    6.2 开始构建镜像

    进入Bolo项目的根目录,查看目录内容。

    root@hcss-ecs-f91c:~# cd bolo-solo/
    root@hcss-ecs-f91c:~/bolo-solo# ls
    bolo-solo.iml  Dockerfile  git  gulpfile.js  LICENSE  manifest.json  package.json  package-lock.json  pic  pom.xml  preview  README.md  src  ssh  yarn.lock
    
    • 1
    • 2
    • 3

    再进入到Bolo项目的根目录,构建Docker镜像,需要耐心等待构建完成。

    docker build -t "bolo" .
    
    • 1

    在这里插入图片描述

    6.3 查看Bolo镜像

    查看本地Bolo镜像,确定本地Bolo镜像构建成功。

    root@hcss-ecs-f91c:~/bolo-solo# docker images
    REPOSITORY                                       TAG           IMAGE ID       CREATED         SIZE
    bolo                                             latest        3cf2457afeb1   8 minutes ago   153MB
    
    • 1
    • 2
    • 3

    七、部署Bolo开源个人博客

    7.1 创建Bolo容器

    使用以下命令,创建Bolo容器,其中JDBC_URL的IP地址设置为华为云云耀云服务器L实例的内网IP地址192.168.0.168,–server_host更改为弹性公网IP地址。

    docker run   -d -p 8280:8080 --env RUNTIME_DB="MYSQL" \
    --name bolo  \
    --restart always  \
    --env JDBC_USERNAME="bolo" \
    --env JDBC_PASSWORD="bolo" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://192.168.0.168:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
    bolo --listen_port=8080 \
    --server_scheme=http --server_host=弹性公网IP地址
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    1.JDBC_USERNAME : MySQL数据库用户名;
    2.JDBC_PASSWORD :数据库密码;
    3.JDBC_URL :192.168.0.168 为服务器的域名(如没有域名,填写IP地址);
    4.server_host :修改为自己的域名(或IP地址),这里云耀云服务器L实例的弹性公网IP地址;
    5. -p 8280:8080 和 --listen_port=8080为端口参数,可以自行修改。

    注意:–server_host选项后面必须使用华为云云耀云服务器L实例的公网地址,本人第一次部署时使用的是其内网IP地址192.168.0.168,后面初始化设置完毕后会自动跳转到该内网IP地址,造成外网无法访问的问题。将其修改为华为云云耀云服务器L实例的弹性公网IP地址后,初始化完毕后跳转到弹性公网IP地址,访问正常。

    7.2 查看容器状态

    检查bolo相关容器状态,确保bolo容器正常运行。

    root@hcss-ecs-f91c:~/bolo-solo# docker ps
    CONTAINER ID   IMAGE                                                 COMMAND                  CREATED          STATUS          PORTS      NAMES
    3560203c1ee1   bolo                                                  "java -cp WEB-INF/li…"   21 seconds ago   Up 20 seconds   0.0.0.0:8280->8080/tcp, :::8280->8080/tcp      bolo
    d676994e69e0   mysql:5.7                                             "docker-entrypoint.s…"   2 minutes ago    Up 2 minutes    0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp      bolo-mysql
    
    • 1
    • 2
    • 3
    • 4

    7.3 检查容器日志

    检查bolo容器日志,确保bolo服务正常启动。

    docker logs bolo
    
    • 1

    在这里插入图片描述

    八、访问Bolo开源个人博客

    8.1 放行安全组端口

    进入华为云云耀云服务器L实例的安全组管理页面,在入方向放行8280端口。

    在这里插入图片描述
    在这里插入图片描述

    8.2 Bolo的初始化设置

    访问地址:http://弹性公网IP地址:8280/,如果无法访问,查看ufw防火墙是否关闭。

    在这里插入图片描述

    设置管理员账号和密码,点击“开始初始化”。

    在这里插入图片描述

    8.3 访问Bolo首页

    初始化完毕后,自动跳转到Bolo首页。

    在这里插入图片描述

    九、在Bolo上发表博客

    9.1 进入Bolo后台管理

    点击首页的后台管理登录入口,输入管理员账号和密码,进入Bolo后台管理页面。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    9.2 发布文章

    点击发布文章模块,编辑文章内容,发表即可。

    在这里插入图片描述
    在这里插入图片描述

    9.3 查看博客效果

    访问bolo首页,点击发布的文章,查看文章内容。

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    功利点没啥!
    waitqueue实现阻塞数据访问 - Linux等待队列
    【C#】认识C# (为了游戏开发 O(≧口≦)O)
    应急响应.windows
    OpenCV(二十五):边缘检测(一)
    电脑线路修改教程
    三层内网 外网打点到内网域 sec123 复现
    【华为机试题 HJ108】求最小公倍数
    CUDA By Example(五)——常量内存与事件
    05【实操篇-文件目录类命令】
  • 原文地址:https://blog.csdn.net/jks212454/article/details/133514046