828华为云征文|部署在线文档应用程序 CodeX Docs

828华为云征文|部署在线文档应用程序 CodeX Docs

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
    • 2.4 Docker 环境搭建
  • 三、Flexus云服务器X实例部署 CodeX Docs
    • 3.1 CodeX Docs 介绍
    • 3.2 CodeX Docs 部署
    • 3.3 CodeX Docs 使用
  • 四、总结

一、Flexus云服务器X实例介绍

云服务器提供了一种高效灵活的解决方案,让用户可以根据实际需求即时调整计算资源,避免了传统物理服务器的管理和维护成本。通过云服务器,企业能够实现快速部署和弹性扩展,同时受益于服务商提供的数据安全保障措施,确保业务连续性和数据安全性。

华为云下一代云服务器Flexus X实例焕新上线,新产品基于X实例搭建电商交易平台,可以从容面对电商市场瞬息万变的业务压力变化,也适用于搭建游戏后台服务器,强大算力轻松应对千人同时在线,同时平滑扩容可快速应对服务器玩家数量上涨诉求,超强的网络加速能力提升用户体验。

在这里插入图片描述

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

在这里插入图片描述
本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

在这里插入图片描述

勾选自动重启,点击确定即可

在这里插入图片描述

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

在这里插入图片描述

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

# 安装必要工具包
$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 配置仓库源
$ sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs) \stable"	# 更新apt包索引
$ sudo apt-get update# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 CodeX Docs

3.1 CodeX Docs 介绍

CodeX Docs是一个基于开源技术的文档应用程序。其核心架构基于Editor.js,提供了一个现代化的模块化编辑体验。这款工具适应多种场景,从产品文档到内部团队的知识库,再到个人笔记,CodeX Docs皆能胜任。其设计旨在轻量级、高效和可扩展,确保用户可以根据具体需求调整以及扩大项目功能。

  • 现代编辑体验:基于Editor.js,该项目提供了灵活且直观的内容编辑流程。用户能够以模块化的方式组织和展示文档,可自定义内容的外观和结构。

  • 灵活的文档结构:CodeX Docs允许用户创建嵌套文档结构,能够进行内容的分类和分级管理。这种灵活性使得信息组织的易用性和可维护性大幅度提升。

  • 无依赖部署:该项目支持简单配置和无数据库的部署方式,使得安装和使用变得前所未有的简单。用户只需要最少的设置即可启动并运行应用程序。

  • 人性化的用户界面和美化的URL:应用程序在桌面和移动端的呈现效果同样优美,并支持SEO友好的人性化URL,为网站的可访问性和搜索引擎排名提供了保障。

  • 集成的错误追踪和性能分析:集成了如Hawk(错误跟踪)和Yandex Metrica(性能分析)等工具,让团队能够实时追踪错误并对页面性能进行分析,以便于优化用户体验。

在这里插入图片描述
CodeX Docs的开发团队,CodeX,是一支由全球数字专家组成的团体,他们致力于创建高质量的开源产品。项目支持包括Markdown在内的多种文档格式,用户可以在平台内轻松实现内容的格式化和管理。此外,该应用程序支持静态渲染和错误追踪,帮助开发者更好地识别和修复问题,为提升用户体验做出巨大贡献。

  • 官网:https://docs.codex.so/codex-docs
  • Github:https://github.com/codex-team/codex.docs

3.2 CodeX Docs 部署

  • 创建 docs-config.yaml

docs-config.yaml 是文档的配置文件

port: 3000
host: "localhost"
uploads:driver: "local"local:path: "./uploads"s3:bucket: "my-bucket"region: "eu-central-1"baseUrl: "http://docs-static.codex.so.s3-website.eu-central-1.amazonaws.com"keyPrefix: "/"accessKeyId: "my-access-key"secretAccessKey: "my-secret-key"
frontend:title: "CodeX Docs"description: "Free Docs app powered by Editor.js ecosystemt"startPage: ""misprintsChatId: "12344564"yandexMetrikaId: ""carbon:serve: ""placement: ""menu:- "Guides"- title: "CodeX"uri: "https://codex.so"auth:password: secretpasswordsecret: supersecrethawk:
#  frontendToken: "123"
#  backendToken: "123"database:driver: local # you can change database driver here. 'mongodb' or 'local'local:path: ./db
#  mongodb:
#    uri: mongodb://localhost:27017/docs
  • 创建 docker-compose.yml
version: "3.2"
services:docs:image: ghcr.io/codex-team/codex.docs:v2.0.0-rc.8ports:- "8092:3000"volumes:- ./uploads:/usr/src/app/uploads- ./db:/usr/src/app/db- ./docs-config.yaml:/usr/src/app/docs-config.yaml
  • ports: 映射主机的 8092 端口到容器的 3000 端口
  • volumes: 将主机目录挂载到容器目录

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 CodeX Docs 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 启动服务

进入项目目录,执行docker-compose up -d启动命令,会自动拉取容器并运行

从 Github Package 拉取 CodeX Docs 镜像,地址:ghcr.io/codex-team/codex.docs

root@flexusx-c6b3:~/codex# docker-compose up -d
Creating network "codex_default" with the default driver
Pulling docs (ghcr.io/codex-team/codex.docs:v2.0.0-rc.8)...
v2.0.0-rc.8: Pulling from codex-team/codex.docs
3d2430473443: Already exists
b60fa0ff74d7: Already exists
dc7a390288bd: Already exists
33306f9c18eb: Already exists
f9be63c00aa6: Pull complete
2ed6939c8418: Pull complete
644ea669f4ad: Pull complete
d2be5619e9f2: Pull complete
ed6a286fe574: Pull complete
Digest: sha256:aba12cc74c619f1894f03606473292e1e3ad9ffd77b4d902a44de6fcd02c28d7
Status: Downloaded newer image for ghcr.io/codex-team/codex.docs:v2.0.0-rc.8
Creating codex_docs_1 ... 
Creating codex_docs_1 ... done
  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听8092端口,所以添加安全组为TCP:8092协议端口。

在这里插入图片描述

  • 检查容器状态

检查 CodeX Docs 容器状态,确保容器正常启动

root@flexusx-c6b3:~/codex# docker ps
CONTAINER ID   IMAGE                     COMMAND                  CREATED          STATUS          PORTS                                                                          NAMES
ff1ba3feb77e   ghcr.io/codex-team/codex.docs:v2.0.0-rc.8   "docker-entrypoint.s…"   3 hours ago         Up 3 hours         0.0.0.0:8092->3000/tcp, :::8092->3000/tcp   codex_docs_1
  • 访问地址

内网:http://localhost:8092
外网:http://公网IP:8092

  • 访问结果

在这里插入图片描述

若出现此页面,则部署 codex cods server 成功。

3.3 CodeX Docs 使用

点击 add page 去创建第一个页面,CodeX Docs 使用带有主密码的简单身份验证方案,它应该通过 auth.password 配置属性环境变量来定义的,输入后登录

默认的 auth.password: secretpassword

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

再次点击 add page 去创建第一个页面,选择页面位置和输入标题,在写点内容即可,点击Save changes保存

在这里插入图片描述

这样管理员账户查看的效果是这样的,右上角会显示编辑按钮,修改时间和文章主体

在这里插入图片描述

使用普通用户查看,对应的风格是这样的,少了编辑按钮,只有可读权限

在这里插入图片描述

点击编辑按钮, 进入编辑模式,可以调整文档层级,可以继续修改文档,保存修改和删除文档

在编辑模式中,页面包含以下控件:父页面、置于上方和别名输入。

  • 父页面输入允许您指定现有页面中的哪个页面应为当前页面的父页面。此关系将显示在侧边栏中,就像页面嵌套到父部分一样。
    如果您不希望任何现有页面成为您页面的父页面,只需选择一个Root 选项 - 这将允许您创建一个根级页面(侧边栏本身的一部分)。
  • 置于上方
    使用“置顶输入”可以对部分内的页面进行排序。选项包含同一父级的所有页面(和— 无关紧要)。只需选择当前页面应插入其上方的页面即可。
  • 别名
    别名字段允许您指定页面应可用的 URL 路径。例如,输入/test 将使页面具有地址 ${docs-domain}/test

在这里插入图片描述
这个项目的介绍文档也是通过这个展示的,整体风格很简单,左侧是目录树,每篇文档都是按照树的结构排序的,中间是文章主体,会显示修改时间,地步会显示上一篇或下一篇的导航,右侧则是该篇文档的目录

在这里插入图片描述

文档编辑风格类似Notion,但是更简单,保留了几种常用的格式类型: 标题、图片、代码、链接、表格、列表、CheckList 等

在这里插入图片描述

搜索功能感觉比较鸡肋,只能搜索标题,不能搜索文章内容

在这里插入图片描述

我们来查看下 CodeX Docs 的映射文件路径下的结构

root@flexusx-c6b3:~/codex# tree -L 2
.
|-- db
|   |-- aliases.db
|   |-- files.db
|   |-- pages.db
|   `-- pagesOrder.db
|-- docker-compose.yml
|-- docs-config.yaml
`-- uploads`-- 38fc7dea374d9535b7df8045801db80f.png2 directories, 7 files
  • db 即为数据库目录
  • uploads 即为上传文件目录

随着软件项目的复杂性不断增加,保存、分享和更新项目相关文档的重要性日益凸显,CodeX Docs 采用了当下流行的Editor.js生态系统,目标是提供一个便捷且功能丰富的平台,帮助团队记录、组织和分享信息。它不仅仅是一个文档工具,更是一个能够提升团队协作效率和减少沟通障碍的利器。作为文档和文档管理工具,我们使用了文档的编辑/更新和搜索功能,还有更多有趣的设置和功能就需要自行探索了。

四、总结

CodeX Docs项目以其开放性、易用性和强大功能为现代团队提供了不可或缺的文档解决方案。不论是初创企业还是大型团队,CodeX Docs都能为其提供有效的支持。通过这款工具,文档的编写和管理将不再是企业发展中的阻力,而是推动其前进的重要驱动力。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,文档的编辑很顺畅,预览加载也很快,项目是轻量级的,也没有添加一些无关内容,整体占用很低。

华为云服务器正在进行促销活动,为您提供高性能、高可靠的计算资源。利用华为云的先进技术,您可以轻松应对业务高峰,同时享受优惠价格带来的成本节约。现在正值828 B2B企业节,满足不同场景需求,是企业上云、扩容升级的绝佳时机。抓住机会,提升您的业务竞争力!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI产品经理PRD文档与传统产品经理PRD有什么不同呢?

目录 模型输出:说白了,就是你的AI要干啥数据接入:你的AI要吃啥“粮食”验收标准:怎么判断你的AI干得好不好经验总结 你好,我是三桥君 在工作中,当我作为传统产品经理时,通常只需提供产品需求文…

解决 Adobe 盗版弹窗

在这个文件夹下删除 Adobe CCXProcess 然后重装。 Adobe Premiere Pro 2024 (v24.6.1) Multilingual :: Варез от m0nkrusa [Warez by m0nkrus] (monkrus.ws) Adobe Photoshop 2024 (v25.12) Multilingual :: Варез от m0nkrusa [Warez by m0nkrus] (monkrus.…

Camera Raw:打开图像

在图像工作流程中,无论是 Raw 格式图像文件还是 JPEG、TIFF 文件,都可以先使用 Camera Raw 打开并调整后,再进入其它 Adobe 软件如 Photoshop 中进行进一步的编辑和处理。 一、打开 Raw 格式图像 1、通过 Adobe Bridge 打开 在 Adobe Bridge …

8.数据结构与算法-双向链表

双向链表的结构定义 从第二个指针找到下一个元素 从第一个指针找到上一个元素 双向循环列表 从第二个指针找到下一个元素,第二个指针可以往前循环找到链表开头 从第一个指针找到上一个元素,第一个指针可以往前循环昭侯链表结尾 双向链表的插入 双向链…

Australis 相機率定軟體說明

概要 課堂中使用Australis這套軟體,順帶記錄操作過程 內容以老師口述及我測試的經過 照片為老師課堂提供之 說明 執行 Step1. 匯入照片 注意!!如果是Mac的作業系統,將資料夾移到Windows上的時候,建議創一個新的資料…

Total_Expectation_Conditional_Bias_Variance_Tradeoff

Statistics with Prof. Liang Liu Topics: Total expectation, consitional expectation, conditional probability, marginal probability, 模型的 Bias, Variance 我们碰到的绝大多数都是 conditional 的probability 。比如,given miu, sigma square, 才能讨论…

详解代理模式-【静态代理与JDK动态代理】(非常的斯国一)

目录 静态代理 什么是静态代理: ​ 特点: 例子: JDK动态代理(主要讲点) 大纲: 1、与静态代码的联系 2、JDK动态代理的主流程 3、Proxy的源码 整体概述: 重要点的翻译 : newProxyInstance源码&am…

图神经网络:处理复杂关系结构与图分类任务的强大工具

创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力! 图神经网络(Graph Neural Network, GNN)是针对图数据的一类神经网络模型。图数据具有节点(节点代表实体)和边(边代表节点之间的…

Webstorm 中对 Node.js 后端项目进行断点调试

首先,肯定需要有一个启动服务器的命令脚本。 然后,写一个 debug 的配置: 然后,debug 模式 启动项目和 启动调试服务: 最后,发送请求,即可调试: 这几个关键按钮含义: 重启…

【STM32-HAL库】自发电型风速传感器(使用STM32F407ZGT6)(附带工程下载链接)

一、自发电型风速传感器介绍 自发电型风速传感器,也称为风力发电型风速传感器或无源风速传感器,是一种不需要外部电源即可工作的风速测量设备。这种传感器通常利用风力来驱动内部的发电机构,从而产生电能来供电测量风速的传感器部分。以下是自…

Footprint Growthly Quest 工具:赋能 Telegram 社区实现 Web3 飞速增长

作者:Stella L (stellafootprint.network) 在 Web3 的快节奏世界里,社区互动是关键。而众多 Web3 社区之所以能够蓬勃发展,很大程度上得益于 Telegram 平台。正因如此,Footprint Analytics 精心打造了 Growthly —— 一款专为 Tel…

Miniforge详细安装教程(macOs和Windows)

(注:主要是解决商业应用anaconda收费问题,这是轻量级的代替,个人完全可以使用anaconda和miniconda) Miniforge 是一个轻量级的包管理器,类似于 Anaconda 和 Miniconda。它主要用于安装基于 conda 的 Python 环境,专注于…

opencv - Fourier Transform 傅里叶变换

目标 在本节中,我们将学习 使用 OpenCV 查找图像的傅里叶变换利用 Numpy 中可用的 FFT 函数傅里叶变换的一些应用我们将看到以下函数:cv.dft()、cv.idft() 等 理论 傅里叶变换用于分析各种滤波器的频率特性。对于图像,2D 离散傅里叶变换 …

Android Studio 新版本 Logcat 的使用详解

点击进入官方Logcat介绍 一个好的Android程序员要会使用AndroidStudio自带的Logcat查看日志,会Log定位也是查找程序bug的第一关键。同时Logcat是一个查看和处理日志消息的工具,它可以更快的帮助开发者调试应用程序。 步入正题,看图说话。 点…

sql-server【bcp工具】

目录 1.查看bcp是否可用 2.bcp 命令的基本语法 3.数据导出 4.数据导入 bcp(Bulk Copy Program)是 SQL Server 提供的一个命令行工具,用于在 SQL Server 实例与用户指定格式的数据文件之间批量复制表或视图数据。bcp 工具非常适合进行大量…

基于Spark的汽车行业大数据分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

【leetcode】121.买卖股票的最佳时机

思路&#xff1a; 找到后面与前面的差值最大即可。 代码&#xff1a; int maxProfit(int* prices, int pricesSize) {int i 0, j 0;//i是后一个最大的&#xff0c;j是前面最小的int max 0, temp 0;//表示最大值for (i 1; i < pricesSize; i){if (prices[j] < pr…

产品经理的学习

初学 接需求 画原型 写文档 日常产出 流程图 举例购物的流程 结构图 一个应用的全部功能&#xff0c;用思维导图的方式去罗列出来 竞品分析文档 竞品分类 竞品选择 竞品采集 竞品文档书写 也可以做一个产品的产品结构图 需求文档 干系人 需求方 记录人 产品经理 其他项目干系人…

【办公类-48-03】20240930每月电子屏台账汇总成docx-3(三园区合并EXCLE,批量生成3份word)

背景需求&#xff1a; 前期电子屏汇总是“总园”用“”问卷星”、“一分园”用“腾讯文档”&#xff0c;二分园“用“手写word”” 【办公类-48-02】20240407每月电子屏台账汇总成docx-2&#xff08;腾讯文档xlsx导入docx&#xff0c;每页20条&#xff09;【办公类-48-02】20…

腾讯云新开端口

检查防火墙设置 890 2024-09-30 20:47:18 netstat -tuln | grep 1213891 2024-09-30 20:47:49 ping 110.40.130.231892 2024-09-30 20:48:38 sudo firewall-cmd --zonepublic --add-port1213/tcp --permanent893 2024-09-30 20:48:51 sudo firewall-cmd --reload894 2024-…