基于 Flexus 云服务器 X 实例的应用 - 私有化部署自己的笔记平台
���大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂
@TOC
写在前面
我发现了个事儿,好多技术大牛都喜欢将自己在日常工作中遇到的问题,或者自己学习的一些技术整理成学习笔记,发布出来,一来是供自己日后遇到同样的问题后可以快速的找到;二来也是有这种乐于分享的精神,为其他人提供一些便利帮助。
一般记录自己笔记的方式有好多种,比如在开源的博客平台上发布,比如 CSDN,博客园,51CTO 博客、公众号等。另一种方式就是:自己部署一款私有化的笔记平台,文章、图片等都放在自己服务器上,对于程序员来说,数据更加安全。
正好,华为云正在搞 828 的活动,力度还挺大,所以就搞了一台华为云 Flexus X 实例的服务器。
今天,我们就来介绍一下,如何使用华为云 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: bridgeservices: 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 包含 MySQL,MySQL 容器在初始化时会自动创建数据库 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,谢谢大家的观看。