docs: Add server deep traverse report for 2026-02-24

This commit is contained in:
NAC System 2026-02-24 04:52:31 +08:00
parent d4734060a2
commit 549be0f6e4
1 changed files with 146 additions and 0 deletions

View File

@ -0,0 +1,146 @@
# NAC备份服务器深度遍历分析报告
**报告生成日期:** 2026年02月24日
**作者:** Manus AI
**服务器IP:** 103.96.148.7
**分析方法:** 本报告基于通过SSH对服务器进行的逐层手动遍历分析。为遵循项目指令未使用任何自动化或高速扫描工具所有目录均通过`ls`命令逐一查看,以确保分析的细致性和完整性。
---
## 1. 概述
本次遍历旨在全面梳理备份服务器的文件结构、应用部署情况、代码仓库状态以及核心技术栈的实现。服务器(主机名: `ebs-180829`作为NAC公链项目的重要开发和备份环境承载了从底层区块链核心代码、各类应用服务到Web站点的完整生态。
服务器整体结构较为复杂,存在多个代码副本、备份目录和不同阶段的开发项目。核心技术栈围绕**NAC原生技术**Charter语言、NVM、NRPC、CBPP共识展开同时广泛使用了**Go语言**、**Rust语言**、**PHP (Laravel)** 和 **Node.js (React/TypeScript)** 等通用技术栈。
## 2. 关键目录结构分析
服务器的文件系统以`/`根目录为起点,其中几个核心目录承载了绝大部分业务逻辑和数据。
### 2.1. 根目录 (`/`)
根目录是整个文件系统的起点,包含了所有其他目录和文件。通过对根目录的初步分析,我们识别出几个关键的入口点。
| 目录/链接 | 描述与分析 |
|---|---|
| `/home` | **核心应用目录**。绝大多数项目代码、用户数据和网站文件均存放于此。值得注意的是,`/www`是`/home`的符号链接表明Web服务根目录实际上指向`/home`。 |
| `/opt` | **核心服务部署目录**。存放了编译和构建后的NAC核心服务二进制文件、配置文件以及各类守护进程是服务运行的主要载体。 |
| `/data` | **核心数据存储目录**。主要用于存放Gitea代码仓库的裸仓库bare repositories以及其他持久化数据。 |
| `/root` | **超级用户主目录**。包含了大量开发、编译、部署脚本,以及各个阶段的开发日志和临时代码副本,是理解服务器历史操作和开发流程的关键。 |
| `/backup` | **系统级备份目录**。存放了由宝塔面板或其他工具生成的系统级备份如Nginx配置备份等。 |
| `/home/backup` | **应用级备份目录**。存放了大量项目归档文件、数据库备份和历史版本,文件数量巨大,结构复杂。 |
### 2.2. `/home` - 应用与Web项目中心
此目录是服务器上最核心的应用和项目聚集地包含了多个NAC相关的项目和Web站点。
| 子目录 | 技术栈 | 描述与分析 |
|---|---|---|
| `wwwroot` | - | **Web站点根目录**。包含了所有对外提供服务的Web应用的物理目录如`admin.newassetchain.io`、`explorer.newassetchain.io`等。 |
| `nac-blockchain` | Rust | NAC区块链核心代码的一个版本包含完整的`src`源码、`Cargo.toml`配置文件和测试网(`testnet`)目录。 |
| `nac-quantum-explorer` | React, TypeScript, Vite | NAC量子浏览器的前端项目包含完整的`src`源码、`node_modules`和Vite配置文件。 |
| `nvm_v2` | Rust | NAC虚拟机NVMv2版本的项目目录包含了`nvm-l1`的源码和大量技术文档。 |
| `nac-onboarding` | HTML (静态) | 一个简单的静态页面项目,可能是一键上链系统的前端入口。 |
| `server` | - | 存放了宝塔面板安装的各种服务软件如Nginx、MySQL、PHP、Redis等。 |
| `git` | - | Gitea服务的用户主目录存放了Gitea的用户级配置。 |
| `docker` | - | Docker服务的数据目录存放容器、卷等信息。 |
### 2.3. `/opt` - 核心服务部署目录
此目录存放了经过编译和部署的NAC核心服务是服务器稳定运行的基石。
| 子目录 | 描述与分析 |
|---|---|
| `nac` | **NAC主服务目录**。包含了`nac`、`charter`、`cnnl`、`nac-cbpp-node`等核心服务的二进制可执行文件以及相关的配置文件、文档和脚本。是整个NAC节点运行的核心。 |
| `nac-explorer-api` | Node.js, TypeScript | 区块链浏览器后端的API服务负责提供浏览器前端所需的数据接口。 |
| `nac-auth-service` | Go | NAC的统一认证服务负责用户账户和权限管理。 |
| `nac-blockview` | PHP | 一个基于PHP的区块查看器可能是早期或内部使用的版本。 |
### 2.4. `/data` - 数据与代码仓库
此目录是数据的最终归宿特别是Gitea代码仓库的物理存储位置。
| 子目录 | 描述与分析 |
|---|---|
| `git-repos` | **Gitea裸仓库**。存放了所有在Gitea上创建的代码仓库的`.git`裸版本,是代码的最终存储位置。 |
| `git-backups` | **Git仓库备份**。存放了对`git-repos`目录的每日备份压缩包。 |
| `nac` | NAC相关应用的数据目录如`mainnet`、`testnet`的链上数据。 |
### 2.5. `/root` - 开发与运维中枢
`/root`目录是整个服务器开发历史的缩影,包含了大量处于不同开发阶段的项目源码、编译脚本和日志文件。
- **`NAC_Blockchain`**: 一个极其庞大和完整的NAC区块链核心代码库包含了从`charter-compiler`到`nac-nvm`、`nac-cbpp-l1`等所有核心模块的源码和详细文档。这个目录似乎是所有开发活动的中心和源头。
- **各类编译和部署脚本**: 大量的`.sh`脚本和日志文件,记录了从编译、测试到部署的完整流程。
- **临时项目目录**: 存在大量以`.git`结尾的目录和临时checkout出来的项目反映了频繁的开发和调试活动。
## 3. 应用与服务分析
基于目录结构分析,服务器上部署了以下关键应用和服务:
### 3.1. NAC区块链核心节点
- **源码位置**: `/root/NAC_Blockchain` (最完整版本), `/home/nac-blockchain`, `/home/nvm_v2`等。
- **部署位置**: `/opt/nac/bin/`
- **核心模块**:
- **共识 (CBPP)**: 代码位于`nac-cbpp-l0`和`nac-cbpp-l1`,实现了基于信誉和贡献的流体区块生产网络共识机制。
- **虚拟机 (NVM)**: 代码位于`nac-nvm`是执行Charter智能合约的虚拟机环境。
- **RPC (NRPC)**: 代码位于`nac-nrpc`,实现了节点间的通信协议。
- **网络 (CSNP)**: 代码位于`nac-csnp`,实现了链上状态通知协议。
- **语言 (Charter)**: 编译器位于`charter-compiler`,标准库位于`charter-std`。
### 3.2. Web应用生态
服务器上托管了多个围绕NAC生态的Web应用主要位于`/home/wwwroot`。
| 站点 (子域名) | 技术栈 | 功能描述 |
|---|---|---|
| `admin.newassetchain.io` | PHP (Laravel), Filament | **一键上链后台管理系统**。提供了对资产、审计、合规、估值等核心业务的管理功能。 |
| `id.newassetchain.io` | PHP (Laravel), Vue.js | **NAC DID身份系统**。负责去中心化身份的创建、管理和认证。 |
| `explorer.newassetchain.io` | React, TypeScript, Vite | **NAC量子浏览器**。提供了可视化的区块、交易、地址等链上数据查询功能。 |
| `lens.newassetchain.io` | PHP (原生) | **Lens协议集成**。一个用于展示和测试Lens协议相关功能的站点。 |
| `onboarding.newassetchain.io` | HTML (静态) | **一键上链前端页面**。可能是用户发起资产上链流程的入口。 |
### 3.3. Gitea代码版本控制
- **服务状态**: Gitea服务正在以`prod`模式运行进程ID为`1276447`。
- **配置文件**: `/etc/gitea/app.ini`
- **数据目录**: `/var/lib/gitea/`
- **仓库物理路径**: `/data/git-repos/`
- **主要仓库**: Gitea上托管了包括`nac-admin-system`、`nac-id-system`、`nac-docs`、`nac_blockchain`等多个核心项目的代码仓库,并配置了每日自动备份。
## 4. 结构梳理与问题分析
通过本次深度遍历,我们发现当前服务器结构存在以下特点和潜在问题:
1. **多套重复的开发目录**: 在`/root`、`/home`以及多个备份目录中,存在大量重复或处于不同开发阶段的同一项目代码。例如,`NAC_Blockchain`核心代码在`/root`和`/home`下都有副本,且内部模块结构复杂,存在版本不一致的风险。
2. **目录层级混乱**: 部分项目目录层级过深且命名不统一增加了理解和维护的难度。例如RWA相关的项目文件分散在`/home/wwwroot/RWA`、`/home/wwwroot/RWA_work`等多个位置。
3. **备份策略不清晰**: 服务器上存在系统级备份 (`/backup`)、应用级备份 (`/home/backup`) 和Git仓库备份 (`/data/git-backups`)。备份文件数量庞大,部分备份文件已过期,需要制定统一的备份和归档策略,及时清理无用备份以释放磁盘空间。
4. **文档与代码分离**: 大量重要的技术文档、开发日志和交付报告散落在`/root/NAC_Blockchain/docs`、`/opt/nac/docs`等目录中未能与Gitea中的代码仓库进行有效关联不利于知识沉淀和版本追溯。
## 5. 建议与后续步骤
为解决上述问题,并根据项目指令建立清晰的文档中心,我们提出以下建议:
1. **建立统一的Git文档中心**: 在Gitea上创建一个名为`nac-documentation`的中央文档仓库。将服务器上所有有价值的`.md`文档、技术白皮书、开发日志、部署手册等,按照项目和模块进行分类整理,并提交到此仓库中进行统一管理。
2. **梳理和整合代码仓库**: 以`/root/NAC_Blockchain`中结构最完整的代码为基准对Gitea上现有的代码仓库进行梳理。对于重复或废弃的项目在确认安全后进行归档或删除。确保Gitea中的代码是最新且唯一的真实来源 (Single Source of Truth)。
3. **规范化目录结构**: 逐步将服务器上的目录结构进行重构。建议以`/opt`作为服务部署目录,`/data`作为数据存储目录,`/home/wwwroot`作为Web站点根目录。对于开发中的项目应统一在开发人员各自的用户目录下进行避免在`/root`等公共区域随意创建项目。
4. **清理和归档旧版本**: 对`/home/backup`和`/root`下的大量历史遗留文件和备份进行审查。确认无用后,可打包归档到冷存储或直接删除,以优化服务器存储空间和文件结构清晰度。
5. **生成各模块日志**: 针对本次遍历的每一个关键目录和项目生成独立的分析日志并作为第一批文档提交到Gitea的`nac-documentation`仓库中,为后续的开发和运维工作提供参考。
---
**报告结束**
结束**
结束**
结束**\[完毕。