本页目录
    ← 返回文章列表

    当前服务器目录机构

    服务器目录现状

    分类 服务器

    npcbase 服务器目录现状说明

    更新时间:2026-07-08 12:02 CST

    服务器:VM-0-3-ubuntu

    检查用户:root

    项目根目录:/data/npcbase

    1. 当前结论

    服务器已经有一套可用的基础环境:

    • Nginx 已运行,站点配置集中在 /data/npcbase/nginx/sites/npcbase.conf

    • MySQL、Redis、Qdrant 通过 Docker 容器运行。

    • Docker 中间件真实数据在 /data/npcbase/docker 下。

    • /data/npcbase/data 当前作为业务数据区使用。

    • 主站 npcbase.cloud 已配置 HTTPS。

    • 当前 Nginx 配置无重复 server_name

    2. 顶层目录

    /data/npcbase
    ├── backups              # 历史备份、配置备份
    ├── data                 # 业务数据区
    ├── docker               # Docker 中间件挂载目录
    ├── docker-compose.yml   # Docker 编排文件
    ├── .env                 # 环境变量,敏感文件
    ├── .env.save            # 环境变量历史备份,敏感文件
    ├── frontend             # 前端页面目录
    ├── .git                 # 当前目录存在 Git 仓库,后续需确认管理范围
    ├── .gitignore
    ├── nginx                # Nginx 项目内配置
    ├── README.md
    ├── scripts              # 运维脚本目录
    └── services             # 后端服务目录

    属主概况:

    • /data/npcbaseubuntu:ubuntu

    • /data/npcbase/dataroot:root

    • /data/npcbase/dockerroot:root

    • /data/npcbase/frontendubuntu:ubuntu

    • /data/npcbase/nginxubuntu:ubuntu

    • /data/npcbase/servicesubuntu:ubuntu

    3. 前端目录

    /data/npcbase/frontend
    ├── admin
    ├── blog
    ├── home
    ├── kb
    └── web

    建议用途:

    • /data/npcbase/frontend/web:当前 Nginx 正在使用的主站目录。

    • /data/npcbase/frontend/home:后续可作为 npcbase.cloud 主页目录。

    • /data/npcbase/frontend/blog:后续用于 blog.npcbase.cloud 博客前端。

    • /data/npcbase/frontend/kb:后续用于 kb.npcbase.cloud 知识库前端。

    • /data/npcbase/frontend/admin:后台管理前端预留。

    注意:当前 Nginx 仍指向 /data/npcbase/frontend/web,在正式迁移到 home 前不要删除 web

    4. 后端服务目录

    /data/npcbase/services
    ├── api-gateway
    ├── blog-service
    └── kb-service

    建议用途:

    • /data/npcbase/services/api-gateway:统一 API 网关、鉴权、用户相关服务。

    • /data/npcbase/services/blog-service:博客后端服务。

    • /data/npcbase/services/kb-service:知识库后端服务。

    当前这些目录都很小,说明后端服务大概率还没有正式部署代码。

    5. 业务数据目录

    /data/npcbase/data
    ├── backups
    ├── blog
    │   ├── backups
    │   ├── logs
    │   └── uploads
    ├── kb
    │   ├── backups
    │   ├── chunks
    │   ├── logs
    │   ├── parsed
    │   ├── raw
    │   └── uploads
    ├── logs
    ├── tmp
    └── uploads

    建议用途:

    • /data/npcbase/data/blog/uploads:博客图片、附件、封面图等上传文件。

    • /data/npcbase/data/blog/logs:博客后端业务日志。

    • /data/npcbase/data/blog/backups:博客业务备份。

    • /data/npcbase/data/kb/raw:知识库原始文件,例如 PDF、DOCX、Markdown、TXT。

    • /data/npcbase/data/kb/parsed:知识库解析后的文本。

    • /data/npcbase/data/kb/chunks:知识库切片后的文本块。

    • /data/npcbase/data/kb/uploads:知识库上传入口。

    • /data/npcbase/data/kb/logs:知识库服务日志。

    • /data/npcbase/data/kb/backups:知识库业务备份。

    • /data/npcbase/data/tmp:临时处理目录。

    • /data/npcbase/data/backups:通用业务备份。

    • /data/npcbase/data/logs:通用业务日志。

    • /data/npcbase/data/uploads:通用上传目录。

    6. Docker 中间件目录

    /data/npcbase/docker
    ├── mysql
    │   ├── conf
    │   ├── data
    │   └── init
    ├── qdrant
    │   └── storage
    └── redis
        ├── conf
        └── data

    当前容器:

    npcbase-mysql   mysql:8.4              127.0.0.1:3306->3306
    npcbase-redis   redis:7.4              127.0.0.1:6379->6379
    npcbase-qdrant  qdrant/qdrant:latest   127.0.0.1:6333-6334->6333-6334

    实际挂载关系:

    /data/npcbase/docker/mysql/data     -> /var/lib/mysql
    /data/npcbase/docker/mysql/conf     -> /etc/mysql/conf.d
    /data/npcbase/docker/mysql/init     -> /docker-entrypoint-initdb.d
    ​
    /data/npcbase/docker/redis/data     -> /data
    /data/npcbase/docker/redis/conf     -> /usr/local/etc/redis
    ​
    /data/npcbase/docker/qdrant/storage -> /qdrant/storage

    重要规则:

    • 不要手动删除或移动 /data/npcbase/docker/mysql/data

    • 不要手动删除或移动 /data/npcbase/docker/redis/data

    • 不要手动删除或移动 /data/npcbase/docker/qdrant/storage

    • 迁移这些目录前必须先停容器、备份、修改 docker-compose.yml、再启动验证。

    7. Nginx 当前配置

    当前站点配置文件:

    /data/npcbase/nginx/sites/npcbase.conf

    当前有效配置摘要:

    server {
        listen 80 default_server;
        server_name 124.223.86.62;
    
        root /data/npcbase/frontend/web;
        index index.html;
    
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
    
    server {
        listen 80;
        server_name npcbase.cloud www.npcbase.cloud;
    
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name npcbase.cloud www.npcbase.cloud;
    
        root /data/npcbase/frontend/web;
        index index.html;
    
        location / {
            try_files $uri $uri/ /index.html;
        }
    
        ssl_certificate /etc/letsencrypt/live/npcbase.cloud/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/npcbase.cloud/privkey.pem;
    
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    }

    当前访问关系:

    http://124.223.86.62       -> /data/npcbase/frontend/web
    http://npcbase.cloud       -> 跳转 HTTPS
    http://www.npcbase.cloud   -> 跳转 HTTPS
    https://npcbase.cloud      -> /data/npcbase/frontend/web
    https://www.npcbase.cloud  -> /data/npcbase/frontend/web

    后续目标域名:

    npcbase.cloud        -> 主页
    blog.npcbase.cloud   -> 博客
    kb.npcbase.cloud     -> AI 知识库

    建议继续用一个文件管理多个 server {}

    /data/npcbase/nginx/sites/npcbase.conf

    8. 备份目录

    /data/npcbase/backups
    ├── 20260706_173130
    │   └── configs
    │       ├── nginx
    │       │   └── sites
    │       └── scripts
    ├── configs
    │   ├── nginx-20260708_114435
    │   └── nginx-20260708_114442
    ├── mysql
    ├── qdrant
    └── redis

    建议:

    • 中间件备份继续放 /data/npcbase/backups/mysql/data/npcbase/backups/redis/data/npcbase/backups/qdrant

    • 配置备份继续放 /data/npcbase/backups/configs

    • 业务数据备份可以放 /data/npcbase/data/blog/backups/data/npcbase/data/kb/backups

    9. 磁盘状态

    磁盘使用情况:

    /dev/vda2  40G  Used 7.3G  Avail 31G  Use 20%

    /data/npcbase 各目录占用:

    209M    /data/npcbase/docker
    88K     /data/npcbase/backups
    64K     /data/npcbase/data
    40K     /data/npcbase/frontend
    16K     /data/npcbase/nginx
    16K     /data/npcbase/services
    12K     /data/npcbase/scripts
    4.0K    /data/npcbase/docker-compose.yml
    4.0K    /data/npcbase/README.md

    当前空间充足,主要占用来自 Docker 中间件数据。

    10. 后续整理建议

    10.1 主页目录

    当前主站使用:

    /data/npcbase/frontend/web

    如果想采用更清晰命名,后续可以迁移为:

    /data/npcbase/frontend/home

    迁移前需要同步修改 Nginx root

    10.2 博客目录

    建议:

    /data/npcbase/frontend/blog
    /data/npcbase/services/blog-service
    /data/npcbase/data/blog/uploads
    /data/npcbase/data/blog/logs
    /data/npcbase/data/blog/backups

    域名:

    blog.npcbase.cloud

    10.3 知识库目录

    建议:

    /data/npcbase/frontend/kb
    /data/npcbase/services/kb-service
    /data/npcbase/data/kb/raw
    /data/npcbase/data/kb/parsed
    /data/npcbase/data/kb/chunks
    /data/npcbase/data/kb/uploads
    /data/npcbase/data/kb/logs
    /data/npcbase/data/kb/backups

    域名:

    kb.npcbase.cloud

    10.4 Git 管理建议

    当前 /data/npcbase/.git 存在,但 git status -sb 没有输出,说明当前 Git 状态需要进一步确认。

    建议先明确 Git 管理范围:

    • 不建议把整个 /data/npcbase 长期作为一个 Git 仓库管理。

    • Docker 数据、数据库数据、上传文件、备份文件、日志不应该进入 Git。

    • 如果暂时只管理知识库内容,可以单独在知识库内容目录初始化 Git,例如 /data/npcbase/data/kb/raw

    • 也可以后续单独建立 /data/npcbase/repos/kb-content 来管理知识库内容。

    11. 日常排查命令

    查看目录:

    find /data/npcbase -maxdepth 4 -type d | sort
    du -sh /data/npcbase/* 2>/dev/null | sort -h
    df -h

    查看 Nginx:

    nginx -t
    nginx -T 2>/dev/null | grep -E "listen|server_name|root|proxy_pass|ssl_certificate" -n
    systemctl status nginx --no-pager
    systemctl reload nginx

    查看 Docker:

    docker ps -a
    docker logs --tail=100 npcbase-mysql
    docker logs --tail=100 npcbase-redis
    docker logs --tail=100 npcbase-qdrant

    查看 Docker 挂载:

    docker inspect npcbase-mysql --format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'
    docker inspect npcbase-redis --format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'
    docker inspect npcbase-qdrant --format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'

    查看端口:

    ss -lntp

    12. 不要轻易操作的目录和文件

    不要直接删除、移动或覆盖:

    /data/npcbase/docker/mysql/data
    /data/npcbase/docker/redis/data
    /data/npcbase/docker/qdrant/storage
    /etc/letsencrypt/live/npcbase.cloud
    /data/npcbase/nginx/sites/npcbase.conf
    /data/npcbase/.env
    /data/npcbase/.env.save

    这些目录或文件影响数据库、向量库、Redis、HTTPS 证书、Nginx 站点和容器配置。

    评论