domainCheck Linux 部署说明
本文档用于将 domain-api 与 domainCheck Worker 部署到 Linux,并由 systemd 托管。
一、建议目录结构
/opt/domaincheck
├── domain-api
├── domain-web
└── domainCheck
说明:
domain-api提供 Web 后台接口domain-web为前端静态文件项目domainCheck保留当前检测核心与 Worker
二、准备 Python 环境
建议使用 Python 3.11。
cd /opt/domaincheck/domainCheck
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cd /opt/domaincheck/domain-api
pip install fastapi uvicorn pydantic-settings psycopg2-binary redis openpyxl python-multipart
三、准备配置文件
1. domainCheck/.env
domain-api 默认会读取 /opt/domaincheck/domainCheck/.env。
至少确认下面这些配置正确:
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=domain
DB_USER=postgres
DB_PASSWORD=postgres
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
2. 可选的 domain-api 环境变量
可以参考 .env.example。
常用项:
API_HOSTAPI_PORTWORKER_MODEWORKER_SERVICE_NAMEAPI_SERVICE_NAMEADMIN_USERNAMEADMIN_PASSWORD
四、部署 systemd
模板文件:
deploy/systemd/domain-api.servicedeploy/systemd/domain-worker.service
复制到系统目录:
sudo cp /opt/domaincheck/domain-api/deploy/systemd/domain-api.service /etc/systemd/system/domaincheck-api.service
sudo cp /opt/domaincheck/domain-api/deploy/systemd/domain-worker.service /etc/systemd/system/domaincheck-worker.service
然后按实际机器修改:
WorkingDirectoryExecStartUserGroupEnvironment
五、启动顺序
sudo systemctl daemon-reload
sudo systemctl enable domaincheck-api
sudo systemctl enable domaincheck-worker
sudo systemctl start domaincheck-api
sudo systemctl start domaincheck-worker
查看状态:
sudo systemctl status domaincheck-api
sudo systemctl status domaincheck-worker
查看日志:
journalctl -u domaincheck-api -n 200 --no-pager
journalctl -u domaincheck-worker -n 200 --no-pager
六、联调检查
1. API 健康检查
curl http://127.0.0.1:8100/health
期望看到:
status=okworker_mode=linux-systemd
2. Web 后台系统设置
在 Web 后台里确认:
Worker 运行模式 = linux-systemdWorker 服务名 = domaincheck-workerAPI 服务名 = domaincheck-api
3. 运行中心
进入 运行中心,确认:
- API 在线
- Worker 在线
- 进程数大于 0
- 最近启动时间正常
4. 运行 API 自测脚本
cd /opt/domaincheck/domain-api
python deploy/linux/smoke_test.py --base-url http://127.0.0.1:8100
如果同时希望把 Web 首页一起纳入检查:
python deploy/linux/smoke_test.py --base-url http://127.0.0.1:8100 --web-url http://127.0.0.1
七、上线建议
- 先保持
Windows 桌面版 + Web/Linux并行一段时间 - 先让 Web 后台接管设置、导入、筛选、导出、日志
- 再让 Linux Worker 接管主检测任务
- 确认稳定后,再逐步淡出桌面检测端
八、联调诊断采集
如需导出一份联调诊断包,可执行:
cd /opt/domaincheck/domain-api/deploy/linux
bash collect_diagnostics.sh /opt/domaincheck
会输出:
diagnostics_dir=...diagnostics_archive=...
把生成的归档包发回即可继续排障。