# 05 domainCheck Linux 部署清单 ## 一、目标形态 - `domain-web`:提供运营管理后台 - `domain-api`:提供接口、日志、运行中心、导入导出能力 - `domainCheck`:继续承载检测核心与 Worker - `PostgreSQL + Redis`:建议同机或同内网部署 ## 二、服务器准备 - 操作系统:Ubuntu 22.04 / Debian 12 / Rocky Linux 9 均可 - Python:`3.11` - Node:仅构建前端时需要,运行静态文件不强依赖 - PostgreSQL:建议 `14+` - Redis:建议 `6+` ## 三、目录建议 ```text /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 是一套新库,必须先执行: ```bash 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 访问: ```text 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 下日志路径与权限 - 真实代理池在国内服务器上的表现 - 大批量导入与导出任务表现