Files
getDomain/docs/05_domainCheck_Linux部署清单.md
Your Name e406d73334 debug
2026-04-16 13:28:34 +08:00

3.3 KiB
Raw Blame History

05 domainCheck Linux 部署清单

一、目标形态

  • domain-web:提供运营管理后台
  • domain-api:提供接口、日志、运行中心、导入导出能力
  • domainCheck:继续承载检测核心与 Worker
  • PostgreSQL + Redis:建议同机或同内网部署

二、服务器准备

  • 操作系统Ubuntu 22.04 / Debian 12 / Rocky Linux 9 均可
  • Python3.11
  • Node仅构建前端时需要运行静态文件不强依赖
  • PostgreSQL建议 14+
  • Redis建议 6+

三、目录建议

/opt/domaincheck
├── domain-api
├── domain-web
└── domainCheck

四、上线前核对

1. 数据库

  • domains
  • detect_tasks
  • domain_detections
  • domain_blacklist
  • sensitive_words

确认这几张核心表已经存在。

2. Redis

确认可以正常读写:

  • domain_tool:detect_options
  • domain_tool:proxy_config
  • domain_tool:thread_count

3. Worker 配置

确认 domainCheck/.env 已配置:

  • DB_HOST
  • DB_PORT
  • DB_DATABASE
  • DB_USER
  • DB_PASSWORD
  • REDIS_HOST
  • REDIS_PORT
  • REDIS_PASSWORD

4. Web/API 配置

确认 domain-api 使用:

  • WORKER_MODE=linux-systemd
  • WORKER_SERVICE_NAME=domaincheck-worker
  • API_SERVICE_NAME=domaincheck-api

五、部署顺序

  1. 上传 domainCheck
  2. 上传 domain-api
  3. 上传 domain-web
  4. 创建 Python 虚拟环境并安装依赖
  5. 初始化或连接 PostgreSQL/Redis
  6. 先执行 domainCheck/init_database.py 初始化数据库结构
  7. 安装 systemd 服务
  8. 启动 domaincheck-api
  9. 启动 domaincheck-worker
  10. 验证 Web 后台与运行中心

数据库初始化

如果目标 PostgreSQL 是一套新库,必须先执行:

cd /opt/domaincheck/domainCheck
python3 init_database.py

执行完成后,建议至少确认这些表已存在:

  • domains
  • detect_tasks
  • domain_detections
  • domain_blacklist
  • sensitive_words

如果未先初始化数据库,下面这些接口会因为 UndefinedTable 直接失败:

  • /api/v1/dashboard/overview
  • /api/v1/detect/status
  • /api/v1/imports/summary

前端补充

domain-web 建议:

  1. 复制 .env.production.example.env.production
  2. 修改 VITE_API_BASE_URL
  3. 执行 deploy/linux/publish.sh
  4. 使用 deploy/nginx/domain-web.conf 配置 Nginx

六、上线后验证

1. API

访问:

http://服务器IP:8100/health

2. Web 后台

确认能正常完成:

  • 登录
  • 系统设置读取
  • 域名筛选查询
  • 导出列表查看
  • 日志诊断查看

3. Worker

确认:

  • 运行中心显示 Worker 在线
  • 检测控制可读到当前进程数
  • detect_worker.log 正常写入

七、切换策略

建议按下面顺序平滑切换:

  1. Web 后台 先接管配置、筛选、导出、日志
  2. Linux Worker 再逐步接管检测主任务
  3. Windows 桌面端 暂时保留为备用入口
  4. 运行稳定后,再考虑淡出桌面检测端

八、当前完成度

截至当前版本,已完成:

  • Web 后台主页面
  • API 接口主链路
  • 运行中心
  • Windows 本地 Worker 控制
  • Linux systemd 控制模式支持
  • systemd 模板文件

仍建议上线前重点复测:

  • Linux systemd 实机启停
  • Linux 下日志路径与权限
  • 真实代理池在国内服务器上的表现
  • 大批量导入与导出任务表现