华为云征文|基于Flexus云服务器X实例的应用场景-私有化部署自己的笔记平台

news2024/9/20 7:58:18

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂


先看这里

    • 写在前面
    • 效果图
    • 华为云Flexus X实例云服务器
    • Blossom 私有化笔记平台
      • 简介
      • 准备工作
      • 创建yaml文件
      • 执行yaml文件
      • 使用blossom

写在前面

我发现了个事儿,好多技术大牛都喜欢将自己在日常工作中遇到的问题,或者自己学习的一些技术整理成学习笔记,发布出来,一来是供自己日后遇到同样的问题后可以快速的找到;二来也是有这种乐于分享的精神,为其他人提供一些便利帮助。

一般记录自己笔记的方式有好多种,比如在开源的博客平台上发布,比如CSDN,博客园,51CTO博客、公众号等。另一种方式就是:自己部署一款私有化的笔记平台,文章、图片等都放在自己服务器上,对于程序员来说,数据更加安全。

今天,我们就来介绍一下,如何使用华为云Flexus X实例的云服务器来部署一套自己的私有化笔记平台吧。

效果图

我这边之前部署过,先给大家看看效果图,已经使用了三个多月啦,挺不错的。

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

华为云Flexus X实例云服务器

华为云基于创新的“柔性算力”技术,重磅推出下云服务器产品:华为云Flexus云服务器X实例。

华为云Flexus云服务器X实例,是由国家科技进步奖获得者、华为公司Fellow、华为云首席架构师顾炯炯牵头研发。它基于擎天QingTian架构、瑶光云脑、盘古大模型等根技术创新,是业界首款应用驱动的柔性算力云服务器,主要面向高科技、零售、金融、游戏等行业大多数通用工作负载场景,包括网络应用、数据库、虚拟桌面、分析索引、微服务、CI/CD等。

传统厂商的云服务器,只能提供固定的CPU内存规格,不能精准匹配用户实际资源需求,存在大量资源浪费。

华为云Flexus云服务器X实例以创新的、更加贴合业务应用实际需求的柔性算力,独家支持CPU内存的柔性配比,支持100+规格,最高支持CPU内存3:1配比,让CPU与内存更贴合业务应用需求;
在这里插入图片描述
今天,我们就以这款服务器为主,部署一套私有化笔记平台吧!!

Blossom 私有化笔记平台

简介

Blossom,云端双链笔记,完全开源,私有部署,你的笔记不再宕机。(最主要的是开源),如果你觉得现有功能满足不了你的需求,你可以自己去研究的开发符合你自己场景的笔记系统。

虽然本身定位是一个云端软件,但你仍然可以在本地部署,数据和图片都将保存在你的设备,不依赖任何的图床或者对象存储。

下面,我们就来实际的部署一下。

在这里插入图片描述

准备工作

首先,需要有一台华为云Flexus X实例的云服务器,有了服务器后,我们还需要再服务器上准备如下环境:

  1. 安装mysql数据库,最好是8.0版本的。
  2. 安装docker环境。

就这两点就可以了,最主要的是docker环境,自从有了docker后,部署各种程序,都喜欢使用docker,直接一个yaml文件或者一条命令就OK了,而且最主要的是,完全独立在运行,不用担心环境冲突的问题!

官方推荐了以下几种部署方式:

  1. 使用 Dockerhub 公共镜像
  2. 使用 Docker Compose
  3. 使用 Jar 包部署
  4. 使用idea插件的方式部署

创建yaml文件

我们首先通过ssh连接上华为云Flexus X实例云服务器

在这里插入图片描述

  1. 确认是否安装 Docker Compose
docker-compose --version

在这里插入图片描述
可以看到,我这边的版本是2.29.1,没有问题。

  1. 创建 blossom-mysql8.yaml 文件

下方是docker compose示例文件,你需要创建一个blossom-mysql8.yaml文件,然后将下列内容复制到文件中,并且修改其中注释的地方:

version: "3.8"

networks:
  blossomnet:
    driver:
      bridge

services:
  blossom:
    image: jasminexzzz/blossom:latest
    container_name: blossom-backend
    volumes:
      # 【需修改】 
      # 将冒号(:)前的部分改成你运行 docker 的设备的某个路径,不要修改冒号后面的内容。  
      # 如果是windows环境,可以使用/c/home/bl/img/来指定磁盘 
      - /home/blossom/bl/:/home/bl/ 
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://blmysql:3306/blossom?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&allowMultiQueries=true&useSSL=false&&serverTimezone=GMT%2B8
      SPRING_DATASOURCE_USERNAME: root
      # 【可选修改】配置数据库密码,这个改了下方的黄色部分也要修改 
      SPRING_DATASOURCE_PASSWORD: jasmine888 
    ports:
      - "9999:9999"
    networks:
      - blossomnet
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9999/sys/alive"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s
    restart: always
    depends_on:
      blmysql:
        condition: service_healthy
  blmysql:
    image: mysql:8.0.31
    container_name: blossom-mysql
    restart: on-failure:3
    volumes:
      # 【需修改】将冒号(:)前的部分改成你运行 docker 的设备的某个路径,不要修改冒号后面的内容。  
      - /home/blossom/mysql/data:/var/lib/mysql 
      - /home/blossom/mysql/log:/var/log/mysql 
      - /home/blossom/mysql/mysql-files:/var/lib/mysql-files 
    environment:
      MYSQL_DATABASE: blossom
      # 【可选修改】这个改了上方的黄色部分也要修改。需要与 services.blossom.environment.SPRING_DATASOURCE_PASSWORD 相同 
      MYSQL_ROOT_PASSWORD: jasmine888 
      LANG: C.UTF-8
      TZ: Asia/Shanghai
    ports:
      - "3306:3306"
    networks:
      - blossomnet
    healthcheck:
      # 【可选修改】如果修改了上方的数据库密码「MYSQL_ROOT_PASSWORD」,下方的 -p 后的密码也要修改 
      test: ["CMD", "mysqladmin", "-uroot", "-pjasmine888", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 3s
      retries: 12

注意:大家可以我上面文件中【需修改】的地方,前面都是宿主机的路径,后面是容器的路径,我们需要保证在服务器上有前面的路径,后面的路径可以不用管。

在这里插入图片描述

然后我们需要将blossom-mysql8.yaml文件上传到服务器中,如下图所示:

Docker Compose 包含 MySQLMySQL 容器在初始化时会自动创建数据库 Blossom

执行yaml文件

blossom-mysql8.yaml 文件所在路径下执行以下命令,然后请耐心等待镜像拉取和启动。

docker compose -f blossom-mysql8.yaml up -d

在这里插入图片描述
执行的过程稍微比较缓慢,所以我们等待片刻即可。

经过不是很漫长的等待,我们终于看到了胜利的曙光,如下图所示:
在这里插入图片描述
下面,我们需要开放一下涉及的几个端口,一个是笔记平台的9999端口,另一个是数据所需要的3306端口(不过我这边为了安全,用的是3308端口)

在这里插入图片描述
如果你实在还不放心是不是服务已经启动了,那么你可以直接查看一下日志看看:

docker logs blossom-backend

在这里插入图片描述
没有任何问题,现在我们来输入:http://服务器ip:9999 直接访问平台试试:

你会发现显示:

{
  "code": "AUTH-40101",
  "msg": "无效的授权信息",
  "ex": "无效的授权信息",
  "data": null
}

别慌,这不是错误,这是证明部署成功啦,现在我们看看如何使用。

使用blossom

网页端的地址为: IP:端口(域名)/editor/#/settingindex,打开客户端后就会进入登录界面,
在这里插入图片描述
这里我们需要写三个空,分别为:

  1. 服务端地址:就是你的ip+端口 (或者域名)
  2. 用户名:blos
  3. 密码:blos

然后点击下面的Login按钮,即可登录。

在这里插入图片描述
至此,登录成功,接下来大家就可以在页面上探索属于你自己的专属笔记平台的各种功能啦~本文,over,谢谢大家的观看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2095704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百望云携手春秋航空 迈入航空出行数电票新时代

在数字经济的大潮中,每一个行业的转型与升级都显得尤为关键,而航空业作为连接世界的桥梁,其数字化转型的步伐更是备受瞩目。随着百望云与春秋航空携手迈入航空出行数电票新时代,我们不仅见证了传统纸质票据向数字化转型的必然趋势…

Elastic Stack--ELFK实例与Dashboard界面

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 学习B站博主教程笔记: 最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—Elastic…

逆向工程核心原理 Chapter22 | 恶意键盘记录器

教程这一章没给具体的实现,这里在Chapter21学习的基础上,试着实现一个键盘记录器。 键盘记录器实现 这里有个技术问题:记录下的敲击键(在KeyHook.dll中捕获的)(可以用wParam)怎么打印出来&…

二叉树和堆知识点

1 特殊二叉树 1. 满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是 说,如果一个二叉树的层数为K,且结点总数是 ,则它就是满二叉树。 2. 完全二叉树:完全…

前端打包部署,Nginx服务器启动

前端vue打包部署 前端vue打包部署,执行NPM脚本下的build vue-cli-service... 生成dist文件夹 Nginx服务器 将刚刚的静态资源部署到Nginx

小白学装修(准备阶段)

装修还是 实事求是 脚踏实地 多用心 多学习 视频: 你离摆脱装修小白身份,只差这一个视频!_哔哩哔哩_bilibili 本篇文章所涉及到的文件(记得给诡计从不拖更一件三联) 给诡计投币换的装修预算表资源-CSDN文库 住户…

【Python报错已解决】“ValueError: If using all scalar values, you must pass an index“

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言:一、问题描述1.1 报错示例:以下是一个可能引发上述错误的代码示例。1.2 报错分析&#x…

Docker 镜像构建

1、Docker 镜像结构 Docker镜像的结构是分层的,这种结构是Docker镜像轻量化和高效性的关键。每个Docker镜像都由一系列的“镜像层”(image layers)组成,这些层通过UnionFS(联合文件系统)技术叠加在一起&am…

磐石云语音识别引擎

磐石云发布了V1.2.2版本语音识别引擎。 经过严格客观的测试识别效果和阿里云、讯飞、火山进行了对比几乎无差。(欢迎对比测试) 上图是CPU下的流式识别效果 RTF0.1~0.14,也就是一并发一个小时大约处理7~10小时,这取决于硬件的配置&#xff0…

基于SpringBoot的教务与课程管理系统

💥💥源码和论文下载💥💥:基于SpringBoot的教务与课程管理系统源码论文报告数据库.rar 1. 系统介绍 随着计算机科学技术的迅猛进步及高等教育体系改革的持续深化,传统的教育管理方式、工具及其操作效率已经难…

APP测试(十一)

APP测试要点提取与分析 一、功能测试 APP是什么项目?核心业务功能梳理清楚 — 流程图分析APP客户端的单个功能模块 — 细化分析 需要使用等价类,边界值,考虑正常和异常情况(长度,数据类型,必填&#xff0…

JavaFX基本控件-Label

JavaFX基本控件-Label 常用属性textpaddingalignmenttextAlignmentwidthheighttooltipborderwrapTextellipsisStringunderline 实现方式Java实现fxml实现 常用属性 text 设置文本内容 label.setText("这是一个测试数据");padding 内边距 label.setPadding(new Inset…

Python计算机视觉四章-照相机模型与增强现实

目录 4.1针孔照相机模型 4.1.1照相机矩阵 4.1.2 三维点的投影 4.1.3 照相机矩阵的分解 4.1.4 计算照相机中心 4.2 照相机标定 4.2.1 一个简单的标定方法 4.3 以平面和标记物进行姿态估计 4.4 增强现实 4.4.1 PyGame和PyOpenGL 4.4.2 从照相机矩阵到OpenGL格式 4…

部署Rancher2.9管理K8S1.26集群

文章目录 一、实验须知1、Rancher简介2、当前实验环境 二、部署Rancher1、服务器初始化操作2、部署Rancher3、登入Rancher平台 三、Rancher对接K8S集群四、通过Rancher仪表盘部署Nginx服务1、创建命名空间2、创建Deployment3、创建Service 一、实验须知 1、Rancher简介 中文官…

碎碎恋之懒加载和预加载

目录 0 前言1 fragment复习1.1 静态创建1.2 动态创建1.3 两者生命周期1.4 fragment之间的通信 0 前言 懒加载,延迟加载;如kotlin中初始化;减小资源消耗,可以避免同一时间需要加载的内容过多。 预加载,提前加载&#x…

经典大语言模型解读(2):生成式预训练的先锋GPT-1

论文地址:Improving Language Understanding by Generative Pre-Training 概述 现实世界中包含了大量的文本语料数据,然而,绝大多数语料都是无标签的。 为了充分利用这些无标签语料库,GPT1.0提出直接利用这些未标记的语料来进行…

【BLE】三.GATT/ATT规范

基本概念回顾 CS交互流程 SPP(蓝牙透传)的示例初始化: SPP示例运行过程: GATTS&GAP回调: 黄色:事件回调 绿色:事件 蓝色:执行 GATTC&GAP回调: 服务特征…

安全入门day.04

一、密码存储加密知识点 1、MD5 MD5加密是一种广泛使用的密码杂凑函数,它可以将任意长度的信息通过一系列复杂的数学和位操作转化为一个128位(16字节)的散列值(hash value),这个散列值通常被表示为一个32位…

【Qt】工具栏

工具栏 工具栏是应用程序中集成各种功能实现快捷键使用的一个区域。 在Qt中使用QToolBar表示工具栏对象,一个窗口可以有多个工具栏,也可以没有,工具栏也是可以进行手动移动位置。 例子:创建工具栏 (1)创…

信息系统运维服务方案(Word原件完整版)

1 编制目的 2 系统运行维护 2.1 系统运维内容 2.2 日常运行维护方案 2.2.1 日常巡检 2.2.2 状态监控 2.2.3 系统优化 2.2.4 软件系统问题处理及升级 2.2.5 系统数据库管理维护 2.2.6 灾难恢复 2.3 应急运行维护方案 2.3.1 启动应急流程 2.3.2 成立应急小组 2.3.3 …