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/npcbase:ubuntu:ubuntu/data/npcbase/data:root:root/data/npcbase/docker:root:root/data/npcbase/frontend:ubuntu:ubuntu/data/npcbase/nginx:ubuntu:ubuntu/data/npcbase/services:ubuntu: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.conf8. 备份目录
/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.cloud10.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.cloud10.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 -lntp12. 不要轻易操作的目录和文件
不要直接删除、移动或覆盖:
/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 站点和容器配置。
评论