当前位置: 首页 > news >正文

828 华为云征文|华为 Flexus 云服务器搭建 PicGo 图床

在这个充满非凡意义的日子里,我怀揣着满心的热忱与憧憬,毅然决然地踏上了借助华为 Flexus 云服务器搭建 PicGo 图床的精彩征程。这段旅程,注定充满了无数的挑战与意外之喜,宛如在广袤无垠的数字海洋中勇敢地探寻那神秘而珍贵的宝藏。

华为 Flexus 云服务器:坚实的基石

华为 Flexus 云服务器,犹如一座雄伟壮阔的数字巨塔,以其卓越非凡的性能和坚如磐石般的稳定性,成为搭建 PicGo 图床的理想之选。它那独特而精巧的架构,恰似一幅精心绘制的宏伟建筑蓝图,能够高效地处理错综复杂的业务逻辑,为 PicGo 图床提供了坚不可摧的底层支撑。每一次的数据处理,每一个业务请求,都在它的精准掌控之下有条不紊地进行着,为图床的顺利运行筑牢了坚实的根基。

华为 Flexus 云服务器 X 实例乃是一款具备卓越性能与广泛应用场景的云服务器。它拥有柔性算力,能够依据用户业务负载的动态变化以及内存峰值画像,智能地动态推荐规格,从而有效减少算力的浪费,大幅提升资源的利用率。

在这里插入图片描述

在性能方面,X 实例首创大模型加持,实现智能全域调度,X - Turbo 加速使得常见应用性能最高可达业界同规格的 6 倍之多。与此同时,它还具备安全可靠的特性,提供旗舰级的安全品质,跨 AZ 99.995% 的可用性,以及 100 多项全球权威合规认证。这就如同为图床构建了一座坚不可摧的安全堡垒,让用户可以放心地存储和管理大量的图片资源。

在这里插入图片描述

X 实例能够灵活地适配不同的业务场景与需求。例如,在游戏服务器场景中,它适用于搭建游戏后台服务器,强大的算力能够轻松应对千人同时在线的局面,同时平滑扩容可迅速应对服务器玩家数量上涨的诉求,超强的网络加速能力极大地提升了用户体验;在电商直播场景中,基于 X 实例搭建电商交易平台,能够从容不迫地应对电商市场瞬息万变的业务压力变化;而在搭建 PicGo 图床的场景中,它能够稳定地存储和管理大量的图片资源,为用户提供快速的图片上传和访问服务。无论是高清的摄影作品,还是精美的设计图纸,X 实例都能确保它们安全、快速地存储和访问,为用户带来极致的体验。

在这里插入图片描述

此外,X 实例还具有诸多优势,诸如规格灵活、热变配、大模型底层智能调度、业务应用智能加速、迁移预画像、智能规格优化、超精细定价等。搭配更多云服务,如弹性负载均衡 ELB、弹性伸缩 AS、Web 应用防火墙 WAF、云数据库 RDS for MySQL 等,能够一站式满足用户搭建 PicGo 图床的场景需求。这些优势就像是一把把强大的工具,为用户在搭建和管理图床的过程中提供了全方位的支持,让整个过程变得更加轻松、高效。

在这里插入图片描述

搭建过程:从无到有的华丽转变

一、服务器资源申请

当你轻轻打开华为云首页之际,那极为醒目耀眼的华为云 Flexus 云服务海报会瞬间抓住你的眼球,如同夜空中最璀璨的星辰一般引人注目。只需轻轻点击“了解详情”,你便能够如同踏上一条神奇的通道,顺利踏入 Flexus 云服务产品介绍页面。

接着来到 Flexus 云服务申请页面:https://www.huaweicloud.com/product/flexus - x.html,当你点击“购买”按钮的那一刻,仿佛开启了一段充满挑战与机遇的冒险之旅,步入了 Flexus 云服务 X 实例配置的关键环节。

在这个配置页面中,你可以用心地挑选计费模式、区域以及契合自己需求的实例规格。就像我一样,经过深思熟虑后选定了 4 核 12G 的配置,这个配置就像是为图床搭建了一个强大的动力引擎。然后,在操作系统的选择方面,服务器常用的 CentOS7 系统成为了我的不二之选。它就像一位可靠的伙伴,为图床的运行提供了稳定的环境。同时,在存储系统盘的选择上,100GiB 通用 SSD 进入了我的视野范围。不同类型的存储盘各具特色,大家可以参考详细的表格进行审慎考量。

参数极速型 SSD V2(公测)极速型 SSD通用型 SSD V2超高 IO通用型 SSD高 IO普通 IO(上一代产品)
云硬盘最大容量(GiB)系统盘:1024 数据盘:32768系统盘:1024 数据盘:32768系统盘:1024 数据盘:32768系统盘:1024 数据盘:32768系统盘:1024 数据盘:32768系统盘:1024 数据盘:32768系统盘:1024 数据盘:32768
描述专用于对延迟敏感的业务关键型应用程序的极高性能 SSD 云硬盘。具备持续 IOPS 性能超过 128000 IOPS、1000 MiB/s 吞吐量适用于需要超大带宽和超低时延的场景。容量与性能解耦,支持在容量固定的情况下,基于业务性能诉求,按需、灵活地调整 IOPS 和吞吐量。适合各种主流的高性能、低延迟交互应用场景。超高性能云硬盘,可用于企业关键性业务,适合高吞吐、低时延的工作负载。高性价比的云硬盘,适合中等性能诉求的企业应用。可用于一般访问的工作负载。可用于不常访问的工作负载。
典型应用场景数据库 Oracle SQL Server ClickHouse AI 场景数据库 Oracle SQL Server ClickHouse AI 场景企业办公、虚拟桌面大型开发测试转码类业务系统盘大中型规模的数据库(SQL Server 、Oracle 、NoSQL、PostgreSQL)转码类业务。I/O 密集型场景。NoSQL Oracle SQL Server PostgreSQL 时延敏感型场景。Redis Memcache 企业办公中型开发测试中小型数据库 Web 应用系统盘普通开发测试大容量、读写速率中等、事务性处理较少的应用场景。日常办公应用轻载型开发测试不建议用于系统盘
最大 IOPSa256000128000128000500002000050002200
最大吞吐量 a(MiB/s)40001000100035025015050
IOPS 突发上限 aNA64000NA16000800050002200
云硬盘 IOPS 性能计算公式 cIOPS 值由用户预配置,范围为 100 - 256000,具体可配置值≤(1000*容量(GiB))IOPS = min (128000, 1800 + 50 × 容量(GiB))IOPS 值由用户预配置,范围为 3000 - 128000,具体可配置值≤(500*容量(GiB))IOPS = min (50000, 1800 + 50 × 容量(GiB))IOPS = min (20000, 1800 + 12 × 容量(GiB))IOPS = min (5000, 1800 + 8 × 容量(GiB))IOPS = min (2200, 500 + 2 × 容量(GiB))
云硬盘吞吐量性能计算公式 b(MiB/s)吞吐量≤min(4000,预配置 IOPS/16)吞吐量 = min (1000, 120 + 0.5 × 容量(GiB))吞吐量值由用户配置,范围为 125 - 1000,具体可配置值≤(IOPS/4)吞吐量 = min (350, 120 + 0.5 × 容量(GiB))吞吐量 = min (250, 100 + 0.5 × 容量(GiB))吞吐量 = min (150, 100 + 0.15 × 容量(GiB))吞吐量 = 50
单队列访问时延 d(ms)亚毫秒级亚毫秒级1111 - 35 - 10
API 名称 eESSD2ESSDGPSSD2SSDGPSSDSASSATA

如今的硬盘速度普遍较快,对于个人使用的图床来说,一般情况下无需特别高速的存储盘,便能够满足图片存储和访问的需求。倘若没有特殊需求的话,各种存储盘皆可选择。我在此处就选择了通用型 SSD,100G 的存储容量已然足够。它就像是一个宽敞的仓库,能够容纳大量的图片资源,为我的图床提供了充足的存储空间。

在这里插入图片描述

随后,选择一块网卡,并精心设置安全组。在配置公网 IP 的计费模式时,按带宽计费且 3M 带宽便能够满足个人使用需求。接着,输入服务器名称与 root 密码。云备份可根据自身需求进行购买。对于企业用户搭建存储重要信息的图床来说,购买云备份乃是明智之举。但对于个人而言,并非刚需。它就像是一个额外的保险,为图床的安全提供了更多的保障。

在这里插入图片描述

最后,确认服务器配置,并根据自身需求选择服务器实例的购买时长。我选择了一个月以满足短期需求。选择付款方式并完成支付后,我们便成功拥有了服务器实例。返回服务器实例控制台,就能够看到刚刚购买的服务器实例了。它就像是一个新诞生的宝贝,等待着我们去精心呵护和培养。

在这里插入图片描述

宝塔面板安装及安全组配置

(一)安装服务器得力助手宝塔面板

宝塔面板,作为一款功能强大的服务器管理软件,为服务器的运维管理带来了极大的便利。它就如同一位全能的管家,能够助力用户轻松管理服务器的各项事务。无论是网站的搭建、数据库的管理,还是服务器的安全防护,宝塔面板皆能发挥重要作用。在搭建 PicGo 图床的过程中,安装宝塔面板,恰似为服务器找到了一位实力非凡的得力助手。

宝塔官方精心提供了通用的服务器宝塔面板安装指令:

# 宝塔面板安装命令
url = https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec

当你将此命令完整地复制至 bash 后,轻轻按下回车键,便能够正式开启安装的奇妙之旅。在这个过程中,一旦出现提示要求输入“y”时,你便会踏入一段短暂却充满期待的安装等待阶段。此刻,仿佛时间都在为即将到来的强大功能而蓄力,让人不禁对后续的精彩充满了憧憬。就像是在等待一场盛大的演出,心中充满了期待和兴奋。

(二)配置安全组

依据清晰的提示信息,我们要在服务器安全组中放开 41729 端口以及其他那些常用的服务器端口。首先,依次点击“更多”,接着找到“网络/安全组”,再进入“安全组规则配置”,如此这般,就能够对安全组规则进行极为精细的设置。

点击蓝色配置规则字体

然后,添加“41729”端口的出入方向规则,并将原地址配置为“0.0.0.0/0”,这样便能够放开所有地址的访问权限,为服务器的顺畅运行搭建起一座宽阔的桥梁。就像是为图床打开了一扇通往世界的大门,让更多的人能够访问和使用它。

配置端口规则

当配置完成后,重新启动宝塔面板。此时,在浏览器中输入宝塔面板的外网地址,瞬间,你便能够看到那令人期待的宝塔面板登录页面。接着,输入宝塔面板初始化时的账号密码,就如同打开了一扇通往强大控制中心的大门,顺利进入宝塔面板的控制页面。

bt 1 # 重启宝塔

宝塔面板登录页面

在初次安装并使用宝塔面板时,你需要认真阅读并同意用户协议。当你仔细阅读完协议内容后,进行勾选✔️,此时,你便可以踏入这个充满无限可能的新世界。就像是签署了一份契约,开启了一段充满挑战和机遇的冒险之旅。

阅读并同意用户协议

当成功进入宝塔面板后,安装推荐的 LNMP(Linux、Nginx、MySQL、PHP)四件套,就如同为服务器注入了强大的动力源泉。这四件套的协同作用,将为你的服务器运维带来前所未有的便捷与高效。它们就像是四个强大的战士,共同守护着图床的安全和稳定。

安装 LNMP 四件套

至此,你已经成功地申请并连接到了华为云的 Flexus X 实例,并且安装了简易且好用的服务器运维面板。这意味着你在搭建 PicGo 图床的征程上迈出了坚实的一步,为未来的图片存储和管理搭建了一个可靠的舞台。在这个舞台上,你将能够尽情地展示和分享你的图片作品,与更多的人一起分享美好的瞬间。


2. 安装 PicGo

  • 全局安装 PicGo
    • 在服务器上执行命令npm install picgo -g来进行全局安装 PicGo。
  • 验证安装
    • 安装完成后,在命令行输入picgo -V查看 PicGo 是否安装成功以及版本信息。

3. 配置华为云对象存储

  • 创建桶
    • 登录华为云控制台,进入对象存储服务。
    • 点击“创建桶”按钮,输入桶名称(例如:my-picgo-bucket),注意桶名称在整个华为云对象存储中是全局唯一的。
    • 选择合适的存储类型,比如标准存储,它适用于频繁访问的数据。
    • 选择区域,尽量选择离用户群体较近的区域以减少访问延迟。
    • 其他配置保持默认或者根据实际需求进行调整,然后点击“确定”创建桶。
  • 获取访问密钥
    • 在华为云控制台的用户中心,找到访问密钥管理。
    • 点击“创建访问密钥”,按照提示完成操作,会得到 Access Key ID 和 Secret Access Key,务必妥善保存这两个密钥,不要随意泄露。

4. 完成 PicGo 与华为云的对接

  • 安装华为云对象存储插件
    • 在服务器上执行picgo install plugin picgo-plugin-obs安装华为云对象存储插件。
  • 配置 PicGo
    • 执行picgo set obs命令进行配置。
    • 根据提示依次输入以下信息:
      • AccessKey:刚才获取的 Access Key ID。
      • SecretKey:Secret Access Key。
      • Bucket:创建的桶名称(my-picgo-bucket)。
      • Region:选择桶所在的区域,需与创建桶时选择的区域一致。
      • StorageClass:可选择标准存储(STANDARD)等,根据创建桶时的选择进行填写。
      • Path:可以设置图片上传后的存储路径,例如:images/。
  • 测试上传
    • 准备一张测试图片,假设为 test.jpg,将其上传到服务器或者直接在服务器上准备。
    • 执行picgo upload test.jpg来测试图片上传是否成功。
    • 如果上传成功,在命令行终端会显示上传后的图片链接等信息,同时可以在华为云对象存储桶中看到上传的图片。

四、优化与拓展

1. 优化上传速度

  • 调整网络参数
    • 在服务器上,可以通过调整网络内核参数来优化网络性能。例如,增加文件描述符数量、调整 TCP 缓冲区大小等。可以在/etc/sysctl.conf文件中添加以下配置:
fs.file-max = 65535
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

然后执行sysctl -p使配置生效。

2. 拓展功能

  • 自定义域名绑定
    • 如果希望通过自定义域名访问图床中的图片,可以在域名解析服务中添加 CNAME 记录,将自定义域名指向华为云对象存储桶的访问域名。
    • 同时,在 PicGo 中可以配置自定义域名,这样在获取图片链接时将使用自定义域名。

五、总结与展望

通过在华为 Flexus 云服务器上搭建 PicGo 图床,我们成功地构建了一个高效、稳定的图片存储和管理平台。无论是个人博客、开发者文档还是其他需要图片资源的场景,都能从中受益。在未来,随着需求的不断增长,可以进一步探索更多的优化和拓展方向,让图床服务更加完善。

相关文章:

828 华为云征文|华为 Flexus 云服务器搭建 PicGo 图床

在这个充满非凡意义的日子里,我怀揣着满心的热忱与憧憬,毅然决然地踏上了借助华为 Flexus 云服务器搭建 PicGo 图床的精彩征程。这段旅程,注定充满了无数的挑战与意外之喜,宛如在广袤无垠的数字海洋中勇敢地探寻那神秘而珍贵的宝藏…...

Zabbix 6.4添加中文语言

/usr/share/zabbix/include/locales .inc .phplocale -agrep “zh_CN" yum install langpacks-zh_CN.noarch y y y...

【退役之再次线上部署】Spring Boot + VUE + Nginx + MySQL

这篇博客写在凌晨 4 点 20 分,这个时候我刚线上部署完成 web 项目,自己写的全栈项目 这个点儿,也睡不着了,索性就写篇博客记录一下 一、踩坑实录 这个是 最重要的,所以写在前面 Nginx 配置文件 location location /a…...

Qanything 2 0源码解析系列1:新建知识库

Qanything 2.0源码解析系列1:新建知识库 文章转载自:https://www.feifeixu.top/article/19c76951-5881-4181-bb63-4188b28d3917 😀 前言: qanything所有接口都定义在sanic_api.py中 接口函数定义在同级目录下的handler.py中 新建…...

Redis-01 入门和十大数据类型

Redis支持两种持久化方式:RDB持久化和AOF持久化。 1.RDB持久化是将Redis的数据以快照的形式保存在磁盘上,可以手动触发或通过配置文件设置定时触发。RDB保存的是Redis在某个时间点上的数据快照,可以通过恢复RDB文件来恢复数据。 2.AOF持久化…...

IT行业的现状与未来发展趋势

IT行业的现状与未来发展趋势 近年来,随着科技的迅猛发展,IT行业无疑已经成为全球经济增长的重要驱动力之一。无论是人工智能、大数据,还是云计算和区块链技术,IT行业的创新始终在不断推动着各个领域的变革。 人工智能的广泛应用…...

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台 Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务&…...

今日 leetCode 15.三数之和

15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元…...

Games101笔记-二维Transform变换(二)

1、什么是Transform Transform就是通过一个矩阵,进行缩放、旋转、平移等变换 2、缩放、旋转、切变、平移等基础变换 缩放变换: 反射变换: 切变: 绕原点旋转: 以上都是线性变换: 平移变换&#xf…...

【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解

【洛谷】AT_abc371_c [ABC371C] Make Isomorphic 的题解 洛谷传送门 AT传送门 题解 抽象题目,抽象翻译,可能是我太菜了,根本没看懂题目,后面是听大佬讲题才发现,这不就是一题全排列暴力题吗。谔谔,真的…...

全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记

Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言,它结合了面向对象编程和函数式编程的特性,被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反…...

【Java】JVM基本组成

一、JDK、JRE、JVM JDK:全称 “Java Development Kit” Java 开发工具包,提供 javac编译器、jheap、jconsole 等监控工具; JRE:全称 “Java Runtime Environment” Java 运行环境,提供 class Library 核心类库JVM; …...

解决【WVP服务+ZLMediaKit媒体服务】加入海康摄像头后,能发现设备,播放/点播失败,提示推流超时!

环境介绍 每人搭建的环境不一样,情况不一样,但是原因都是下面几种: wvp配置不当网络端口未放开网络不通 我搭建的环境: WVP服务:windows下,用idea运行的源码 ZLM服务:虚拟机里 问题描述 1.…...

淘宝商品详情接口item_get响应参数解析:props、props_list、prop_img

在电商数据分析和应用开发中,淘宝商品详情接口item_get是一个至关重要的工具。通过该接口,开发者可以高效地获取淘宝平台商品的详细信息,从而优化商品展示、搜索、推荐等功能,提升用户体验和转化率。本文将详细解析item_get接口的…...

Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)

一、显示效果展示 二、OpenCV 4.5.0 OpenCV 4.5.0是OpenCV(Open Source Computer Vision Library,开源计算机视觉库)的一个重要更新版本,该版本在多个方面进行了优化和新增了多项功能。 三、ONNX模型 ONNX(Open Neu…...

Pandas_iloc_loc_哪个是inclusive哪个是exclusive

iloc 和 loc 包括不包括结尾写的那个行(列)? 不一样! iloc[istart:iend] exclusive on iend 不包括结尾那行(列)! loc[start:end] inclusive on end 包括结尾那行(列)&am…...

python是什么语言写的

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言。现今Python语言很火,可有人提问,这么火的语言它的底层又是什么语言编写的呢? python是C语言编写的,它有很多包也是用C语言写的。 所以说,C语言还是很…...

python编程,把所有子目录和文件输出到文本文件

要将所有子目录和文件输出到文本文件,你可以使用Python的os模块来遍历目录结构,并将结果写入文件。以下是一个简单的Python脚本示例,它会递归地遍历指定目录,并将每个子目录和文件的相对路径写入到一个文本文件中: im…...

使用 IntelliJ IDEA 连接到达梦数据库(DM)

前言 达梦数据库是一款国产的关系型数据库管理系统,因其高性能和稳定性而被广泛应用于政府、金融等多个领域。本文将详细介绍如何在 IntelliJ IDEA 中配置并连接到达梦数据库。 准备工作 获取达梦JDBC驱动: 访问达梦在线服务平台网站或通过其他官方渠道…...

【Python报错已解决】AttributeError: ‘WindowsPath‘ object has no attribute ‘rstrip‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

Java中的事件(动作监听-ActionListener)

(一)、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件,例如:按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法,该方法会在动作发生时被调用。 &#…...

STM32篇:开发环境安装

编程语言:C语言 需要安装的软件有两个:Keil5 和 STM32CubeMX 一.Keil5 的安装 使用 Keil4 写 STM32 代码其实也是可以,但需要很复杂的配置,不建议新手操作。 比较推荐 Keil5 编写 STM32 ,只需要一些简单的设置就可…...

AIGC实战——多模态模型Flamingo

AIGC实战——多模态模型Flamingo 0. 前言1. Flamingo 架构2. 视觉编码器3. Perceiver 重采样器4. 语言模型5. FIamingo 应用小结系列链接0. 前言 我们已经学习了文本生成图像模型 DALL.E 2,在本节中,我们将探索另一种多模态模型 Flamingo,它可以根据给定文本和视觉数据流生…...

如何在WordPress中添加事件Schema(分步指南)

如果你正在举办一个在线活动,那么你可能正在寻找通过网络宣传的方法。此时,模式标记可以帮助你在搜索引擎结果中提高活动的可见性。 活动模式将帮助谷歌和其他搜索引擎更好地理解你的活动详情,使它们能够在活动列表、丰富摘要和谷歌知识面板…...

守护企业资产安全:企业微信群禁止互加好友操作指南!

为了防止其他公司的人员混入发起私聊,导致客户资源流失,禁止互加好友十分重要。而软件自带群防骚扰功能,设置好相关规则后,群内成员触发规则会被踢出群聊。 进入工作台-点击更多-选择客户群-选择防骚扰-选择配制企业成员防骚扰规…...

【QT基础】创建项目项目代码解释

目录 前言一,使⽤Qt Creator 新建项目1. 新建项目2. 选择项⽬模板3. 选择项⽬路径4. 选择构建系统5. 填写类信息设置界⾯6. 选择语⾔和翻译⽂件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 二,项目代码说明1. main.cpp文件2. Widget.h文件3. Widget.cp…...

【数据结构】对象的比较

Java数据类型分为基本数据类型和引用类型,基本数据类型可以直接比较大小,对于引用类型的变量不能直接比较。下面来讲解Java对象的比较。 目录 equals比较 Comparble接口类的比较 基于比较器比较 equals比较 equals是Object类中的方法,只能…...

代码随想录八股训练营第四十天| C++

目录 一、什么是菱形继承? 1.1.菱形继承的示例: 1.2.菱形继承的问题: 1.3.解决菱形继承问题: 二、C中的多线程同步机制? 2.1.互斥锁(Mutex): 2.2.递归互斥锁(Recursive Mutex&#xff09…...

【C++】10道经典面试题带你玩转二叉树

🦄个人主页:修修修也 🎏所属专栏:C ⚙️操作环境:Leetcode/牛客网 目录 一.根据二叉树创建字符串 二.二叉树的层序遍历 三.二叉树的层序遍历 II 四.二叉树的最近公共祖先 五.二叉搜索树与双向链表 六.从前序与中序遍历序列构造二叉树 七.从中序与后序遍历…...

【裸机装机系列】13.kali(ubuntu)-优化-自定义grub启动界面个性化背景

推荐阅读: 1.kali(ubuntu)-为什么弃用ubuntu,而选择基于debian的kali操作系统 当裸机安装了linux之后,开机的时候总会让人误会是黑客,还是优化一下开机界面吧,毕竟是日常开发使用。 注:修改有grub启动项有…...