华为云DevCloud平台部署bootdo博客论坛实战【开发者专属集市】

2023-11-06

华为云DevCloud平台部署bootdo博客论坛实战【开发者专属集市】

一、bootdo-blog开源博客介绍

bootdo-blog 是由 Java+MySQL+HTML5 的 B/S 架构的 web 项目技术开发,实现了博客论文的在线预览以及后台运维能工作。

二、本次实践所用工具及平台

  • DevCloud:华为云软件开发平台
  • ECS:华为云弹性云服务器
  • RDS:华为云数据库
  • OBS:华为云对象存储服务
  • SWR:华为云容器镜像服务

三、购买华为RDS数据库

1.购买RDS数据库

image.png

2.查看RDS数据库状态

查看并记录其内网地址,后续在代码仓库中配置数据库中使用。

image.png

四、创建项目

1.登录华为云台DevCloud平台

登录华为云后,按“产品”-“开发与运维”-“软件开发平台 DevCloud”路径,进入华为云 DevCloud 平台首页。

image.png

2.新建项目

在新建项目页,按如下参数配置项目
项目流程:Scrum
项目名称::bootdo
点击“确定”按钮完成项目创建

image.png

image.png

3.查看新建项目

image.png

4.创建代码仓库

选择导入外部git仓库https://codehub.devcloud.huaweicloud.com/00de687ca8da4a5d8bcf7f5b55969c30/docker-devcloud.git

image.png

image.png
image.png

五、配置数据库

1.打开代码仓库

image.png

2.下载sql 文件

访问 代码>代码托管>仓库名称(bootdo)>bootdo.sql,点击下载按钮将sql文件下载到本地。
image.png

3.测试连接数据库

image.png

4.新建数据库

点击新建数据库,填入数据库称 bootdo,字符集选择 utf8,确定。

image.png
image.png

5.导入sql文件

数据库创建成功后,点击上方菜单 导入导出>导入>新建任务
导入类型: SQL
选择附件:下载至本地的 sql 文件
附件存放位置:创建 OBS 桶(默认配置,直接创建即可)
数据库:默认 bootdo
字符集:自动检测
其他参数默认

image.png

6.查看sql文件导入状态

image.png

六、编译构建docker镜像

1.git代码仓库修改application-dev.yml 文件

创建完毕后,需要对代码仓库中的 src/main/resources/application-dev.yml 文件进行修改,以连通数据
库。修改内容:url、username 及 password 修改为数据库对应的正确的值。
url:替换其中数据库的内网地址片段
username:数据库的用户名
password:数据库的密码

image.png

2.进行编译构建配置

按照路径“构建&发布”-“编译构建”进入编译构建服务,点击“新建任务”按钮。
image.png

在选择构建模板页,选择“Maven-容器”构建模板,点击“确定”按钮,完成构建任务的创建。

image.png

3.制作镜像

制作镜像并推送到 SWR 仓库步骤,会通过 Dockerfile 制作镜像文件并推送到 SWR 容器镜像服务里,用
于后续的部署。此处将组织、镜像名字、镜像标签设置为正确的值(组织需要在 SWR 中自行创建,可通过
点击组织后的“查看我的组织”按钮进入)。
镜像名字:bootdo-docker
镜像标签:1.6.9(即镜像版本,也可自行设置为 BuildNumber 等系统自带参数)
点击“新建并执行”按钮,执行任务。

image.png

image.png

4.查看镜像构建完成状态

image.png

七、ECS云主机相关配置

1.查看ECS云主机

z主要配置——
区域:华北-北京四(与 DevCloud 项目所在区域保持一致)
可用区:随机分配
CPU 架构:x86 计算
规格:c7.large.2 (可通过 2vCPU,4GB 进行搜索过滤,实际项目根据实际情况选择)
镜像:公共镜像 Ubuntu16.04(40GB)

image.png

2.配置ecs云主机的安全组

进入对应安全组,配置入向 TCP: 22 和 TCP:5000 端口。

image.png

3.创建主机组

选择界面上方“设置”,选择左侧“主机组管理”,点击“新建主机组”按钮。

image.png
image.png

4.导入ecs主机

image.png

5.查看主机组中主机

image.png

八、部署bootdo博客应用服务

1.选择部署——新建任务

按照路径“构建&部署”-“部署”路径进入部署服务,点击“新建任务”按钮。

image.png

2.选择docker应用部署

image.png

3.选择删除不需要的步骤

先去除不需要的步骤。
包括:“选择部署来源(含 Dockerfile 文件)”、“构建镜像”、“镜像打标签”、“镜像上传到镜像仓

image.png

4.在创建并启动容器”前添加步骤“执行 Docker 命令

image.png

5.安装docker步骤配置

将主机组选择已有主机组。

image.png

6.登录华为云SWR容器镜像服务

查看临时访问指令

image.png

7.登录镜像仓配置

点击“登录 Docker 镜像仓”步骤,“新建”镜像仓.
连接名称:自定义
仓库地址:http://+{SWR 登录指令中的服务器地址,以 swr 开头}
用户名:SWR 登录指令中的-u 部分
密码:SWR 登录指令中的-p 部分

image.png

8.设置镜像仓库为新建的服务扩展点

image.png

9.拉取镜像配置

在“执行 Docker 命令”步骤中,将命令设置为 pull,步骤名称会自动修改为“拉取镜像”。执行参数中填
入容器镜像地址(SWR 地址/组织名/镜像名称/镜像版本)。
image.png

10.创建并启动容器配置

在“创建并启动容器”步骤中,执行参数填入:“-d -p 5000:8080 ”+容器镜像地址(SWR 地址/组织名
/镜像名称/镜像版本)

image.png

11.保存执行并查看执行结果

image.png

九、访问bootdo博客

访问地址:http://ECS 公网 IP:5000(ECS 公网 IP 即之前步骤里创建的 ECS 的公网 IP)

image.png

十、本次实践总结

1.ECS和RDS必须在同一区域及可用区,不是同一可用区会导致最后容器启动失败;
2.ECS和RDS必须在同一安全组,可以登录ECS去ping数据库的IP地址,看是否正常,如果不通,容器连接不上数据库会启动失败;
3.可登录SWR控制台,查看创建镜像是否存在;
4.如果登录博客的web界面失败,可以登录ECS看容器及端口是否正常;
5.完成后,本次实践按需付费的所有华为云资源可全部释放;
6.经过以上步骤以及注意事项,本次实践成功完成!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为云DevCloud平台部署bootdo博客论坛实战【开发者专属集市】 的相关文章

  • 远程 ssh 命令:第一个回显输出丢失

    我试图通过 ssh 1 liner 调用在远程机器上运行多个命令 方法是将它们指定为传递给 bash c 的分号分隔字符串 它适用于某些情况 但不适用于其他情况 看一下这个 Note the echo 1 output is lost ba
  • 如何重命名共享库以避免同名冲突?

    我找到了一个图书馆 libjson http sourceforge net projects libjson 我正在尝试将其构建为共享库并在项目中使用 建造很简单 修复 Makefile 错误后 SHARED 1 make install
  • 在命令行上解密使用 PHP openssl_encrypt 制作的文件

    我有一个要加密的字符串 encryptThis Super Secret Text echo openssl encrypt encryptThis aes 128 cbc 1234 FALSE F68A9A229A516752 然后我通过
  • 使用无效命令进行 fork 会导致 valgrind 中的内存泄漏

    我有以下代码 它在分叉内执行无效命令 以下代码在 valgrind 中返回内存泄漏 include
  • 模拟用户输入以使用不同参数多次调用脚本

    我必须使用提供的脚本 该脚本在脚本运行时接受用户输入而不是参数 我无法解决这个问题 脚本的一个例子是 bin bash echo param one read one doSomething echo param two read two
  • 使用 WGET 运行 cronjob PHP

    我尝试执行一个 cron 并每 5 分钟运行一个 url 我尝试使用 WGET 但我不想下载服务器上的文件 我只想运行它 这是我使用的 crontab 5 wget http www example com cronit php 除了 wg
  • 编译器 libstdc++ 版本与系统版本

    我试图了解 g 如何选择它链接的 libstdc 版本 以及当库的 系统 版本不同时它意味着什么 我正在使用 gcc g 4 1 2 根据ABI 指南 http gcc gnu org onlinedocs libstdc manual a
  • 干净地销毁System V共享内存段

    我在用shmget shmat and shmctl分别获取和创建共享内存段 将其附加到进程地址空间中并删除它 我想知道进程是否仍然可以使用共享内存段 即使它已被分离并要求使用删除 shmctl id IPC RMID 在一个过程中 我无法
  • 在 Linux 2.6.21 (glibc 2.3.5) 上进行 ARP 和反向 ARP

    我需要在任意 IP 网络上存储对第三方设备的持久引用 其中设备的 IP 地址可能是静态的或由 DHCP 随机分配 我不控制网络上的设备 也不能依赖 DNS 和其他现有的或与设备一起使用的临时网络协议 所以我被指示使用硬件地址和 ARP 进行
  • Linux:通过网络进行屏幕桌面视频捕获和 VNC 帧速率

    抱歉 文字墙很长 TL DR VNC 连接的帧速率是多少 以帧 秒为单位 或者更确切地说 由谁决定 客户端还是服务器 对于桌面屏幕捕获的任何其他建议 但 正确的时间编码 具有不抖动的帧速率 具有稳定的周期 并有可能将其作为未压缩 或无损 图
  • 当存在点和下划线时,使用 sed 搜索并替换

    我该如何更换foo with foo sed 只需运行 sed s foo foo g file php 不起作用 逃离 sed s foo foo g file php Example cat test txt foo bar sed s
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • 使用 C++ 输出字符串覆盖 Linux 终端上的最后一个字符串

    假设我有一个命令行程序 有没有办法让我说的时候 std cout lt lt stuff 如果我不做std cout lt lt n 在另一个之间std cout lt lt stuff 东西的另一个输出将覆盖同一行上的最后一个东西 清理行
  • 如何使用libaudit?

    我试图了解如何使用 libaudit 我想接收有关使用 C C 的用户操作的事件 我不明白如何设置规则 以及如何获取有关用户操作的信息 例如 我想获取用户创建目录时的信息 int audit fd audit open struct aud
  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • /proc/PID 文件格式

    我想从中检索一些流程信息 proc目录 我的问题如下 中的文件是否有标准格式 proc PID 例如 有这个proc PID status文件与Name t ProcName在第一行 我可以在其他地方用空格代替这个文件吗 t或者类似的东西
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 静态链接共享对象?或者损坏的文件?

    我有一个从专有来源获得的库 我正在尝试链接它 但出现以下错误 libxxx so 文件无法识别 文件格式无法识别 Collect2 ld 返回 1 退出状态 确实 ldd libxxx so statically linked 这究竟意味着

随机推荐

  • 对MRTK中HandInteractionExamples实例的一些理解

    文章目录 前言 一 按钮 二 边界框 三 操作示例 四 滑动条 五 其它 前言 对HoloLens实例的一些浅陋的理解 大部分为官方自己解释 一 按钮 BoxCollider 按钮前板的Box Collider PressableButto
  • 欧莫,github一看就懂【纯小白】

    教程 一看就懂 Github基础教程 哔哩哔哩 bilibili 分享原因 一不小心刷到的 对小白来说真的很友好 因为我也被github上的英文吓到过 突然刷到这样简单直白的介绍 忍不住分享一波u 2 giehub免费加速 教程 手把手教你
  • 语音端点检测(Voice Activity Detection,VAD)

    本文内容均翻译自这篇博文 该博主的相关文章都比较好 感兴趣的可以自行学习 Voice Activity Detection VAD Tutorial 语音端点检测一般用于鉴别音频信号当中的语音出现 speech presence 和语音消失
  • Java PrintWriter.write()方法具有什么功能呢?

    转自 Java PrintWriter write 方法具有什么功能呢 下文讲述java中PrintWriter write 方法的功能简介说明 如下所示 PrintWriter write 方法的功能 同print方法基本一致 print
  • 模式识别(1)协方差矩阵相关和K-means聚类算法实现(含源码)

    模式识别实验一 实验一 协方差矩阵和矩阵特征值 特征向量的计算 题目简介 给定一组数据 实现该组数据的协方差矩阵的计算 并用代码实现计算一个方阵的特征值和特征向量 一 协方差部分 1 协方差的定义 协方差在概率论和统计学中用于衡量两个变量的
  • java-maven的使用

    一 加载maven项目 1 idea工具栏file open 选择项目加载进来 2 右键pom xml 选择add as maven project 3 如果在pom xml上的某个依赖一直报红且依赖本身没有问题 本pom其他的依赖也没有问
  • 面试概率题目

    概率题目 现在的面试中 大部分公司都会问道概率相关的问题 我们现在给出几道常见的概率问题 1 三角形问题 题目 给你一根铅笔 将铅笔折两次 组成三角形的概率是多大 解析 设 铅笔长度是1 折两次之后 得到三条边 对应的长度分别是x y 1
  • css3实现动画的三种方式

    css实现动画主要有3种方式 第一种是 transition实现渐变动画 第二种是 transform转变动画 第三种是 animation实现自定义动画 transition渐变动画 过渡 语法格式 transition 要过渡的属性 花
  • win10 凭据管理

    点击WIN10左下角的开始选项 选择所有程序 找到WINDOWS系统 点开找到控制面板 打开控制面板 找到里面的 凭据管理器 打开凭据管理器 找到 WINDOWS凭据 然后点击 添加WINDOWS凭据 进入凭据添加页面 添加WINDOWS凭
  • 图像分割中的损失函数

    图像分割中的损失函数 文章目录 图像分割中的损失函数 前言 一 交叉熵损失 二 Dice loss 三 Focal loss 四 IOU损失函数 总结 前言 在深度学习中 所有算法都依赖于最小化或最大化一个函数 称之为损失函数 损失函数用于
  • 蓝桥杯基础练习(1)---数列排序

    一 数列排序问题的解决 问题描述 给定一个长度为n的数列 将这个数列按从小到大的顺序排列 1 lt n lt 200 输入格式 第一行为一个整数n 第二行包含n个整数 为待排序的数 每个整数的绝对值小于10000 输出格式 输出一行 按从小
  • 全球13台DNS根服务器分布:

    全球13台DNS根服务器分布 美国VeriSign公司 2台 网络管理组织IANA Internet Assigned Number Authority 1台 欧洲网络管理组织RIPE NCC Resource IP Europeens N
  • 解决curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 问题

    自动化使用要去下载图像识别的工具 Tesseract mac 需要用到brew 但是我的电脑没有 就先需要下载homebrew 然而按照官网的命令 bin bash c curl fsSL https raw githubuserconte
  • 将一个链表分为奇偶两个链表

    1 问题描述 设计一个算法 将一个头结点为A的单链表 其数据域为整数 分解成两个单链表A和B 使得A链表只含有原来链表data域为奇数的节点 而B链表只含有原链表中data域为偶数的节点 而且保持原来的顺序 2 思路分析 这个问题不是在线网
  • python pandas.set_option()详解

    一 简介 set option是pandas里的一个函数 用法为pandas set option pat value 主要作用是设置一些指定参数的值 供设置的选项如下 后面会逐一进行介绍 compute use bottleneck us
  • python研究生导师_研究生导师布置的作业!利用Python和API收集与分析网络数据!...

    猜猜看 下面这一组调查对象是什么 为什么会这样呢 因为我在布置作业的时候 很贴心地给了一个样例 是我之前写的一篇教程 如何用R和API免费获取Web数据 于是 多组作业 都雷同 讲到这里 他们一副不好意思的表情 我却发觉 这里蕴藏着一个问题
  • 上传文件,提交数据---FormData对象格式

    上传文件 提交数据 FormData对象格式 在进行上传文件 例如Excel 时 处理的几步 否则无法上传 一 修改请求头 在修改请求头 是至关重要的 因为请求数据格式是不同的 header multipart form data 注 在写
  • 4- OpenCV+TensorFlow 入门人工智能图像处理-灰度化处理

    图片特效及线段文字的绘制 特效1 灰度处理 mark 完成彩色图片灰度化 彩色图片有三个颜色通道RGB 灰度图片也是三通道的话 RGB值相等 单通道的灰度图片的值 需要经过RGB值进行计算 图中两个公式 一个是取均值 一个是根据公式 特效2
  • OD-求字符串中所有整数的最小和(Python)

    题目描述 说明 字符串s 只包含 a z A Z 合法的整数包括 1 正整数 一个或者多个0 9组成 如 0 2 3 002 102 2 负整数 负号 开头 数字部分由一个或者多个0 9组成 如 0 012 23 00023 输入描述 包含
  • 华为云DevCloud平台部署bootdo博客论坛实战【开发者专属集市】

    华为云DevCloud平台部署bootdo博客论坛实战 开发者专属集市 一 bootdo blog开源博客介绍 二 本次实践所用工具及平台 三 购买华为RDS数据库 1 购买RDS数据库 2 查看RDS数据库状态 四 创建项目 1 登录华为