debug
This commit is contained in:
@@ -350,14 +350,14 @@ DOMAIN_ROOT=/opt/domaincheck/domainCheck
|
|||||||
NODE_CODE=overseas-control-01
|
NODE_CODE=overseas-control-01
|
||||||
NODE_REGION=overseas
|
NODE_REGION=overseas
|
||||||
NODE_ROLE=control
|
NODE_ROLE=control
|
||||||
CORS_ORIGINS=http://127.0.0.1:3201,http://localhost:3201,http://你的服务器IP:3201
|
CORS_ORIGINS='["http://127.0.0.1:3201","http://localhost:3201","http://你的服务器IP:3201"]'
|
||||||
SYNC_PUSH_ENABLED=false
|
SYNC_PUSH_ENABLED=false
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你已经固定域名,建议直接改成:
|
如果你已经固定域名,建议直接改成:
|
||||||
|
|
||||||
```env
|
```env
|
||||||
CORS_ORIGINS=https://admin.domain,http://127.0.0.1:3201,http://localhost:3201
|
CORS_ORIGINS='["https://admin.domain","http://127.0.0.1:3201","http://localhost:3201"]'
|
||||||
```
|
```
|
||||||
|
|
||||||
### 10. 修正权限
|
### 10. 修正权限
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ NODE_NVM_DIR=
|
|||||||
最少必须先替换这 5 个:
|
最少必须先替换这 5 个:
|
||||||
|
|
||||||
- `DB_PASSWORD`
|
- `DB_PASSWORD`
|
||||||
|
- `REDIS_PASSWORD`
|
||||||
- `SYNC_SHARED_TOKEN`
|
- `SYNC_SHARED_TOKEN`
|
||||||
- `API_DOMAIN`
|
- `API_DOMAIN`
|
||||||
- `ADMIN_DOMAIN`
|
- `ADMIN_DOMAIN`
|
||||||
@@ -256,6 +257,49 @@ nvm use 20
|
|||||||
- `/usr/local/nvm`
|
- `/usr/local/nvm`
|
||||||
- 最后再尝试系统全局 `node` 和 `npm`
|
- 最后再尝试系统全局 `node` 和 `npm`
|
||||||
|
|
||||||
|
### 6.2 国内机器已经装了宝塔怎么办
|
||||||
|
|
||||||
|
结论:
|
||||||
|
|
||||||
|
- 不需要为了接入 `controller` / `worker` 专门重装系统
|
||||||
|
- 机器上已经有宝塔,不等于这台机器不能继续用
|
||||||
|
- 关键不是“有没有宝塔”,而是“不要让宝塔深度接管项目服务”
|
||||||
|
|
||||||
|
推荐做法:
|
||||||
|
|
||||||
|
- 保留宝塔本身
|
||||||
|
- 如果你已经习惯用宝塔管理:
|
||||||
|
- `PostgreSQL`
|
||||||
|
- `Redis`
|
||||||
|
- 防火墙 / 端口
|
||||||
|
- 证书
|
||||||
|
这些可以继续保留
|
||||||
|
- 但项目服务仍然统一交给 `systemd`
|
||||||
|
- `domaincheck-worker`
|
||||||
|
- `domaincheck-sync-agent`
|
||||||
|
- 不要把这些项目服务交给宝塔的守护进程或计划任务反复接管
|
||||||
|
|
||||||
|
对于国内 `controller`:
|
||||||
|
|
||||||
|
- 已装宝塔可以继续用
|
||||||
|
- Redis / PostgreSQL 可以继续由宝塔安装和管理
|
||||||
|
- 但 `domaincheck-worker` / `domaincheck-sync-agent` 仍建议走 `systemd`
|
||||||
|
|
||||||
|
对于国内 `worker`:
|
||||||
|
|
||||||
|
- 已装宝塔也不用重装
|
||||||
|
- 但尽量不要再给它额外配置站点、反代、复杂 PHP/Node 面板功能
|
||||||
|
- 把它当普通 Linux 节点使用即可
|
||||||
|
- 核心目标就是稳定运行 `domaincheck-worker`
|
||||||
|
|
||||||
|
只有在下面这些情况,才建议考虑重装:
|
||||||
|
|
||||||
|
- 机器上历史站点和旧服务太多,端口冲突严重
|
||||||
|
- Redis / PostgreSQL / Nginx 已经被旧项目改得很乱
|
||||||
|
- 系统里残留环境过多,你自己也不再信任这台机器的稳定性
|
||||||
|
|
||||||
|
如果只是“已经装了宝塔”,但系统仍然清晰可控,就不建议为了这个项目重装。
|
||||||
|
|
||||||
### 7. 你实际应该怎么选
|
### 7. 你实际应该怎么选
|
||||||
|
|
||||||
- 如果国外主控机已经是宝塔机:
|
- 如果国外主控机已经是宝塔机:
|
||||||
@@ -404,92 +448,38 @@ bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_overseas_quic
|
|||||||
- 这条脚本不会执行 `git pull`
|
- 这条脚本不会执行 `git pull`
|
||||||
- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本
|
- 你要先自己把 `/www/wwwroot/getDomain` 更新到目标版本,再跑脚本
|
||||||
- 这条脚本会自动过滤 Windows-only Python 依赖
|
- 这条脚本会自动过滤 Windows-only Python 依赖
|
||||||
|
- 这条脚本会自动把 `CORS_ORIGINS` 写成 systemd 可用的安全格式
|
||||||
- 这条脚本结束时会自动执行:`chown -R www:www /www/wwwroot/getDomain`
|
- 这条脚本结束时会自动执行:`chown -R www:www /www/wwwroot/getDomain`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /www/wwwroot/getDomain
|
hostname
|
||||||
git fetch --all
|
systemctl status domaincheck-api --no-pager -l
|
||||||
git checkout GIT_BRANCH
|
systemctl status domaincheck-worker --no-pager -l
|
||||||
git pull --ff-only origin GIT_BRANCH
|
|
||||||
|
|
||||||
mkdir -p /opt/domaincheck
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domain-api /opt/domaincheck/domain-api
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domain-web /opt/domaincheck/domain-web
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domainCheck /opt/domaincheck/domainCheck
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domainCheck
|
|
||||||
python3.11 -m venv .venv || true
|
|
||||||
source .venv/bin/activate
|
|
||||||
pip install --upgrade pip
|
|
||||||
pip install -r requirements.txt
|
|
||||||
/opt/domaincheck/domainCheck/.venv/bin/pip install fastapi uvicorn pydantic-settings psycopg2-binary redis openpyxl python-multipart
|
|
||||||
|
|
||||||
cat >/opt/domaincheck/domainCheck/.env <<EOF
|
|
||||||
DB_HOST=127.0.0.1
|
|
||||||
DB_PORT=5432
|
|
||||||
DB_DATABASE=domain
|
|
||||||
DB_USER=domainuser
|
|
||||||
DB_PASSWORD=DB_PASSWORD
|
|
||||||
|
|
||||||
REDIS_HOST=127.0.0.1
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_PASSWORD=
|
|
||||||
REDIS_DB=0
|
|
||||||
EOF
|
|
||||||
|
|
||||||
/opt/domaincheck/domainCheck/.venv/bin/python /opt/domaincheck/domainCheck/init_database.py
|
|
||||||
|
|
||||||
cat >/opt/domaincheck/domain-web/.env.production <<EOF
|
|
||||||
VITE_API_BASE_URL=https://API_DOMAIN/api/v1
|
|
||||||
EOF
|
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
|
||||||
nvm install NODE_VERSION
|
|
||||||
nvm use NODE_VERSION
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domain-web
|
|
||||||
npm install
|
|
||||||
npm run build
|
|
||||||
|
|
||||||
cp /opt/domaincheck/domain-api/deploy/multi-region/templates/domaincheck-api.env.example /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^DOMAIN_ROOT=.*#DOMAIN_ROOT=/opt/domaincheck/domainCheck#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^API_HOST=.*#API_HOST=0.0.0.0#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^API_PORT=.*#API_PORT=8100#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^NODE_CODE=.*#NODE_CODE=OVERSEAS_NODE_CODE#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^NODE_REGION=.*#NODE_REGION=overseas#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^NODE_ROLE=.*#NODE_ROLE=control#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^SYNC_PUSH_ENABLED=.*#SYNC_PUSH_ENABLED=false#' /etc/default/domaincheck-api
|
|
||||||
sed -i 's#^CORS_ORIGINS=.*#CORS_ORIGINS=https://ADMIN_DOMAIN,http://127.0.0.1:3201,http://localhost:3201#' /etc/default/domaincheck-api
|
|
||||||
|
|
||||||
cp /opt/domaincheck/domain-api/deploy/systemd/domain-api.service /etc/systemd/system/domaincheck-api.service
|
|
||||||
cp /opt/domaincheck/domain-api/deploy/systemd/domain-worker.service /etc/systemd/system/domaincheck-worker.service
|
|
||||||
|
|
||||||
mkdir -p /opt/domaincheck/domain-api/runtime
|
|
||||||
touch /opt/domaincheck/domainCheck/detect_worker.log
|
|
||||||
chown -R www:www /opt/domaincheck/domain-api/runtime
|
|
||||||
chown www:www /opt/domaincheck/domainCheck/detect_worker.log
|
|
||||||
chmod 664 /opt/domaincheck/domainCheck/detect_worker.log
|
|
||||||
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl enable domaincheck-api
|
|
||||||
systemctl enable domaincheck-worker
|
|
||||||
systemctl restart domaincheck-api
|
|
||||||
systemctl restart domaincheck-worker
|
|
||||||
|
|
||||||
curl http://127.0.0.1:8100/health
|
curl http://127.0.0.1:8100/health
|
||||||
curl http://127.0.0.1:8100/api/v1/runtime/preflight
|
curl http://127.0.0.1:8100/api/v1/runtime/preflight
|
||||||
curl http://127.0.0.1:8100/api/v1/runtime/readiness
|
curl http://127.0.0.1:8100/api/v1/runtime/readiness
|
||||||
```
|
```
|
||||||
|
|
||||||
|
判断标准:
|
||||||
|
|
||||||
|
- `health.status=ok`
|
||||||
|
- `runtime/preflight.data.ok=true`
|
||||||
|
- 如果此时还没有接入大陆 `controller` / `worker`,`runtime/readiness.data.status=attention` 是正常现象
|
||||||
|
- 只有国外机自己的 PostgreSQL、Redis、API、systemd 报错时,才算国外主控机没部署好
|
||||||
|
|
||||||
### 2. 国内 controller 最短复制块
|
### 2. 国内 controller 最短复制块
|
||||||
|
|
||||||
先把下面 3 个值替换掉再执行:
|
先把下面 3 个值替换掉再执行:
|
||||||
|
先把下面 5 个值替换掉再执行:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
DB_NAME
|
||||||
|
DB_USER
|
||||||
DB_PASSWORD
|
DB_PASSWORD
|
||||||
|
REDIS_PASSWORD
|
||||||
SYNC_SHARED_TOKEN
|
SYNC_SHARED_TOKEN
|
||||||
MAINLAND_CONTROLLER_NODE_CODE
|
MAINLAND_CONTROLLER_NODE_CODE
|
||||||
|
TARGET_API_BASE_URL
|
||||||
```
|
```
|
||||||
|
|
||||||
也可以直接改脚本头部变量后执行:
|
也可以直接改脚本头部变量后执行:
|
||||||
@@ -511,72 +501,9 @@ bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_cont
|
|||||||
- 这条脚本结束时会自动执行:`chown -R www:www /www/wwwroot/getDomain`
|
- 这条脚本结束时会自动执行:`chown -R www:www /www/wwwroot/getDomain`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /www/wwwroot/getDomain
|
hostname
|
||||||
git fetch --all
|
systemctl status domaincheck-worker --no-pager -l
|
||||||
git checkout GIT_BRANCH
|
systemctl status domaincheck-sync-agent --no-pager -l
|
||||||
git pull --ff-only origin GIT_BRANCH
|
|
||||||
|
|
||||||
mkdir -p /opt/domaincheck
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domain-api /opt/domaincheck/domain-api
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domain-web /opt/domaincheck/domain-web
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domainCheck /opt/domaincheck/domainCheck
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domainCheck
|
|
||||||
python3.11 -m venv .venv || true
|
|
||||||
source .venv/bin/activate
|
|
||||||
pip install --upgrade pip
|
|
||||||
pip install -r requirements.txt
|
|
||||||
/opt/domaincheck/domainCheck/.venv/bin/pip install fastapi uvicorn pydantic-settings psycopg2-binary redis openpyxl python-multipart
|
|
||||||
|
|
||||||
cat >/opt/domaincheck/domainCheck/.env <<EOF
|
|
||||||
DB_HOST=127.0.0.1
|
|
||||||
DB_PORT=5432
|
|
||||||
DB_DATABASE=domain
|
|
||||||
DB_USER=domainuser
|
|
||||||
DB_PASSWORD=DB_PASSWORD
|
|
||||||
|
|
||||||
REDIS_HOST=127.0.0.1
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_PASSWORD=
|
|
||||||
REDIS_DB=0
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domain-api
|
|
||||||
bash deploy/multi-region/bootstrap_mainland.sh /opt/domaincheck controller
|
|
||||||
|
|
||||||
cat >/etc/default/domaincheck-worker <<EOF
|
|
||||||
WORKER_MODE=linux-systemd
|
|
||||||
QT_QPA_PLATFORM=offscreen
|
|
||||||
NODE_CODE=MAINLAND_CONTROLLER_NODE_CODE
|
|
||||||
NODE_REGION=mainland
|
|
||||||
NODE_ROLE=control
|
|
||||||
|
|
||||||
DB_HOST=127.0.0.1
|
|
||||||
DB_PORT=5432
|
|
||||||
DB_DATABASE=domain
|
|
||||||
DB_USER=domainuser
|
|
||||||
DB_PASSWORD=DB_PASSWORD
|
|
||||||
|
|
||||||
REDIS_HOST=127.0.0.1
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_PASSWORD=
|
|
||||||
REDIS_DB=0
|
|
||||||
|
|
||||||
SYNC_PUSH_ENABLED=true
|
|
||||||
SYNC_SOURCE_REGION=mainland
|
|
||||||
SYNC_TARGET_REGION=overseas
|
|
||||||
SYNC_TARGET_API_BASE_URL=https://api.domain.com/api/v1
|
|
||||||
SYNC_SHARED_TOKEN=SYNC_SHARED_TOKEN
|
|
||||||
SYNC_BATCH_SIZE=200
|
|
||||||
SYNC_POLL_INTERVAL_SECONDS=30
|
|
||||||
EOF
|
|
||||||
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl enable domaincheck-worker
|
|
||||||
systemctl enable domaincheck-sync-agent
|
|
||||||
systemctl restart domaincheck-worker
|
|
||||||
systemctl restart domaincheck-sync-agent
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domain-api
|
cd /opt/domaincheck/domain-api
|
||||||
bash deploy/multi-region/check_mainland_controller.sh
|
bash deploy/multi-region/check_mainland_controller.sh
|
||||||
```
|
```
|
||||||
@@ -584,12 +511,17 @@ bash deploy/multi-region/check_mainland_controller.sh
|
|||||||
### 3. 国内 worker 最短复制块
|
### 3. 国内 worker 最短复制块
|
||||||
|
|
||||||
先把下面 4 个值替换掉再执行:
|
先把下面 4 个值替换掉再执行:
|
||||||
|
先把下面 7 个值替换掉再执行:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
DB_NAME
|
||||||
|
DB_USER
|
||||||
DB_PASSWORD
|
DB_PASSWORD
|
||||||
|
REDIS_PASSWORD
|
||||||
SYNC_SHARED_TOKEN
|
SYNC_SHARED_TOKEN
|
||||||
MAINLAND_WORKER_NODE_CODE
|
MAINLAND_WORKER_NODE_CODE
|
||||||
MAINLAND_CONTROLLER_IP
|
MAINLAND_CONTROLLER_IP
|
||||||
|
TARGET_API_BASE_URL
|
||||||
```
|
```
|
||||||
|
|
||||||
也可以直接改脚本头部变量后执行:
|
也可以直接改脚本头部变量后执行:
|
||||||
@@ -611,69 +543,8 @@ bash /www/wwwroot/getDomain/domain-api/deploy/multi-region/install_mainland_work
|
|||||||
- 这条脚本结束时会自动执行:`chown -R www:www /www/wwwroot/getDomain`
|
- 这条脚本结束时会自动执行:`chown -R www:www /www/wwwroot/getDomain`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /www/wwwroot/getDomain
|
hostname
|
||||||
git fetch --all
|
systemctl status domaincheck-worker --no-pager -l
|
||||||
git checkout GIT_BRANCH
|
|
||||||
git pull --ff-only origin GIT_BRANCH
|
|
||||||
|
|
||||||
mkdir -p /opt/domaincheck
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domain-api /opt/domaincheck/domain-api
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domain-web /opt/domaincheck/domain-web
|
|
||||||
ln -sfn /www/wwwroot/getDomain/domainCheck /opt/domaincheck/domainCheck
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domainCheck
|
|
||||||
python3.11 -m venv .venv || true
|
|
||||||
source .venv/bin/activate
|
|
||||||
pip install --upgrade pip
|
|
||||||
pip install -r requirements.txt
|
|
||||||
/opt/domaincheck/domainCheck/.venv/bin/pip install fastapi uvicorn pydantic-settings psycopg2-binary redis openpyxl python-multipart
|
|
||||||
|
|
||||||
cat >/opt/domaincheck/domainCheck/.env <<EOF
|
|
||||||
DB_HOST=MAINLAND_CONTROLLER_IP
|
|
||||||
DB_PORT=5432
|
|
||||||
DB_DATABASE=domain
|
|
||||||
DB_USER=domainuser
|
|
||||||
DB_PASSWORD=DB_PASSWORD
|
|
||||||
|
|
||||||
REDIS_HOST=MAINLAND_CONTROLLER_IP
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_PASSWORD=
|
|
||||||
REDIS_DB=0
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cd /opt/domaincheck/domain-api
|
|
||||||
bash deploy/multi-region/bootstrap_mainland.sh /opt/domaincheck worker
|
|
||||||
|
|
||||||
cat >/etc/default/domaincheck-worker <<EOF
|
|
||||||
WORKER_MODE=linux-systemd
|
|
||||||
QT_QPA_PLATFORM=offscreen
|
|
||||||
NODE_CODE=MAINLAND_WORKER_NODE_CODE
|
|
||||||
NODE_REGION=mainland
|
|
||||||
NODE_ROLE=worker
|
|
||||||
|
|
||||||
DB_HOST=MAINLAND_CONTROLLER_IP
|
|
||||||
DB_PORT=5432
|
|
||||||
DB_DATABASE=domain
|
|
||||||
DB_USER=domainuser
|
|
||||||
DB_PASSWORD=DB_PASSWORD
|
|
||||||
|
|
||||||
REDIS_HOST=MAINLAND_CONTROLLER_IP
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_PASSWORD=
|
|
||||||
REDIS_DB=0
|
|
||||||
|
|
||||||
SYNC_PUSH_ENABLED=true
|
|
||||||
SYNC_SOURCE_REGION=mainland
|
|
||||||
SYNC_TARGET_REGION=overseas
|
|
||||||
SYNC_TARGET_API_BASE_URL=https://api.domain.com/api/v1
|
|
||||||
SYNC_SHARED_TOKEN=SYNC_SHARED_TOKEN
|
|
||||||
SYNC_BATCH_SIZE=200
|
|
||||||
SYNC_POLL_INTERVAL_SECONDS=30
|
|
||||||
EOF
|
|
||||||
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl enable domaincheck-worker
|
|
||||||
systemctl restart domaincheck-worker
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 五、所有机器先执行一次
|
## 五、所有机器先执行一次
|
||||||
@@ -877,7 +748,7 @@ sed -i 's#^NODE_CODE=.*#NODE_CODE=overseas-control-01#' /etc/default/domaincheck
|
|||||||
sed -i 's#^NODE_REGION=.*#NODE_REGION=overseas#' /etc/default/domaincheck-api
|
sed -i 's#^NODE_REGION=.*#NODE_REGION=overseas#' /etc/default/domaincheck-api
|
||||||
sed -i 's#^NODE_ROLE=.*#NODE_ROLE=control#' /etc/default/domaincheck-api
|
sed -i 's#^NODE_ROLE=.*#NODE_ROLE=control#' /etc/default/domaincheck-api
|
||||||
sed -i 's#^SYNC_PUSH_ENABLED=.*#SYNC_PUSH_ENABLED=false#' /etc/default/domaincheck-api
|
sed -i 's#^SYNC_PUSH_ENABLED=.*#SYNC_PUSH_ENABLED=false#' /etc/default/domaincheck-api
|
||||||
sed -i 's#^CORS_ORIGINS=.*#CORS_ORIGINS=https://admin.domain,http://127.0.0.1:3201,http://localhost:3201#' /etc/default/domaincheck-api
|
sed -i 's#^CORS_ORIGINS=.*#CORS_ORIGINS='\''["https://admin.domain","http://127.0.0.1:3201","http://localhost:3201"]'\''#' /etc/default/domaincheck-api
|
||||||
```
|
```
|
||||||
|
|
||||||
### 9. 安装 systemd
|
### 9. 安装 systemd
|
||||||
@@ -976,6 +847,13 @@ cd /opt/domaincheck/domain-api/deploy/linux
|
|||||||
python3 smoke_test.py --base-url http://127.0.0.1:8100
|
python3 smoke_test.py --base-url http://127.0.0.1:8100
|
||||||
```
|
```
|
||||||
|
|
||||||
|
结果解释:
|
||||||
|
|
||||||
|
- `runtime/preflight.data.ok=true` 说明国外主控机自身部署已经通过
|
||||||
|
- 如果此时 `runtime/readiness.data.status=attention`,而提示内容是“尚未观察到在线的大陆 controller / worker 节点”,这是正常现象
|
||||||
|
- `RedisBloom` 出现降级告警不算阻塞项,只是性能优化项
|
||||||
|
- 只有国外机自己的 PostgreSQL、Redis、systemd、DOMAIN_ROOT、API 启动失败时,才算国外主控机没收口
|
||||||
|
|
||||||
## 七、国内 controller 一键部署
|
## 七、国内 controller 一键部署
|
||||||
|
|
||||||
这一节默认你是:
|
这一节默认你是:
|
||||||
@@ -1185,6 +1063,14 @@ systemctl restart domaincheck-worker
|
|||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
|
如果国外机 Redis 只做本机运行态使用,并且当前 Redis 没有密码,记得保持:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sed -i 's#^REDIS_PASSWORD=.*#REDIS_PASSWORD=#' /opt/domaincheck/domainCheck/.env
|
||||||
|
systemctl restart domaincheck-api
|
||||||
|
systemctl restart domaincheck-worker
|
||||||
|
```
|
||||||
|
|
||||||
### 国内 controller
|
### 国内 controller
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
DB_NAME="domain"
|
DB_NAME="domain"
|
||||||
DB_USER="domainuser"
|
DB_USER="domainuser"
|
||||||
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
||||||
|
REDIS_PASSWORD="CHANGE_ME_REDIS_PASSWORD"
|
||||||
SYNC_SHARED_TOKEN="CHANGE_ME_SYNC_SHARED_TOKEN"
|
SYNC_SHARED_TOKEN="CHANGE_ME_SYNC_SHARED_TOKEN"
|
||||||
MAINLAND_CONTROLLER_NODE_CODE="mainland-controller-01"
|
MAINLAND_CONTROLLER_NODE_CODE="mainland-controller-01"
|
||||||
TARGET_API_BASE_URL="https://api.domain.com/api/v1"
|
TARGET_API_BASE_URL="https://api.domain.com/api/v1"
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ source "${CONFIG_FILE}"
|
|||||||
: "${DB_NAME:=domain}"
|
: "${DB_NAME:=domain}"
|
||||||
: "${DB_USER:=domainuser}"
|
: "${DB_USER:=domainuser}"
|
||||||
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
||||||
|
: "${REDIS_PASSWORD:=CHANGE_ME_REDIS_PASSWORD}"
|
||||||
: "${SYNC_SHARED_TOKEN:=CHANGE_ME_SYNC_SHARED_TOKEN}"
|
: "${SYNC_SHARED_TOKEN:=CHANGE_ME_SYNC_SHARED_TOKEN}"
|
||||||
: "${MAINLAND_CONTROLLER_NODE_CODE:=mainland-controller-01}"
|
: "${MAINLAND_CONTROLLER_NODE_CODE:=mainland-controller-01}"
|
||||||
: "${TARGET_API_BASE_URL:=https://api.domain.com/api/v1}"
|
: "${TARGET_API_BASE_URL:=https://api.domain.com/api/v1}"
|
||||||
@@ -27,8 +28,8 @@ BASE_DIR="/opt/domaincheck"
|
|||||||
DOMAINCHECK_DIR="${BASE_DIR}/domainCheck"
|
DOMAINCHECK_DIR="${BASE_DIR}/domainCheck"
|
||||||
DOMAIN_API_DIR="${BASE_DIR}/domain-api"
|
DOMAIN_API_DIR="${BASE_DIR}/domain-api"
|
||||||
|
|
||||||
if [[ "${DB_PASSWORD}" == "CHANGE_ME_DB_PASSWORD" || "${SYNC_SHARED_TOKEN}" == "CHANGE_ME_SYNC_SHARED_TOKEN" ]]; then
|
if [[ "${DB_PASSWORD}" == "CHANGE_ME_DB_PASSWORD" || "${REDIS_PASSWORD}" == "CHANGE_ME_REDIS_PASSWORD" || "${SYNC_SHARED_TOKEN}" == "CHANGE_ME_SYNC_SHARED_TOKEN" ]]; then
|
||||||
echo "请先修改配置文件中的必填项:DB_PASSWORD / SYNC_SHARED_TOKEN"
|
echo "请先修改配置文件中的必填项:DB_PASSWORD / REDIS_PASSWORD / SYNC_SHARED_TOKEN"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ DB_PASSWORD=${DB_PASSWORD}
|
|||||||
|
|
||||||
REDIS_HOST=127.0.0.1
|
REDIS_HOST=127.0.0.1
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||||
REDIS_DB=0
|
REDIS_DB=0
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -116,7 +117,7 @@ DB_PASSWORD=${DB_PASSWORD}
|
|||||||
|
|
||||||
REDIS_HOST=127.0.0.1
|
REDIS_HOST=127.0.0.1
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||||
REDIS_DB=0
|
REDIS_DB=0
|
||||||
|
|
||||||
SYNC_PUSH_ENABLED=true
|
SYNC_PUSH_ENABLED=true
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
DB_NAME="domain"
|
DB_NAME="domain"
|
||||||
DB_USER="domainuser"
|
DB_USER="domainuser"
|
||||||
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
DB_PASSWORD="CHANGE_ME_DB_PASSWORD"
|
||||||
|
REDIS_PASSWORD="CHANGE_ME_REDIS_PASSWORD"
|
||||||
SYNC_SHARED_TOKEN="CHANGE_ME_SYNC_SHARED_TOKEN"
|
SYNC_SHARED_TOKEN="CHANGE_ME_SYNC_SHARED_TOKEN"
|
||||||
MAINLAND_WORKER_NODE_CODE="mainland-worker-01"
|
MAINLAND_WORKER_NODE_CODE="mainland-worker-01"
|
||||||
MAINLAND_CONTROLLER_IP="127.0.0.1"
|
MAINLAND_CONTROLLER_IP="127.0.0.1"
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ source "${CONFIG_FILE}"
|
|||||||
: "${DB_NAME:=domain}"
|
: "${DB_NAME:=domain}"
|
||||||
: "${DB_USER:=domainuser}"
|
: "${DB_USER:=domainuser}"
|
||||||
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
: "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}"
|
||||||
|
: "${REDIS_PASSWORD:=CHANGE_ME_REDIS_PASSWORD}"
|
||||||
: "${SYNC_SHARED_TOKEN:=CHANGE_ME_SYNC_SHARED_TOKEN}"
|
: "${SYNC_SHARED_TOKEN:=CHANGE_ME_SYNC_SHARED_TOKEN}"
|
||||||
: "${MAINLAND_WORKER_NODE_CODE:=mainland-worker-01}"
|
: "${MAINLAND_WORKER_NODE_CODE:=mainland-worker-01}"
|
||||||
: "${MAINLAND_CONTROLLER_IP:=127.0.0.1}"
|
: "${MAINLAND_CONTROLLER_IP:=127.0.0.1}"
|
||||||
@@ -28,8 +29,8 @@ BASE_DIR="/opt/domaincheck"
|
|||||||
DOMAINCHECK_DIR="${BASE_DIR}/domainCheck"
|
DOMAINCHECK_DIR="${BASE_DIR}/domainCheck"
|
||||||
DOMAIN_API_DIR="${BASE_DIR}/domain-api"
|
DOMAIN_API_DIR="${BASE_DIR}/domain-api"
|
||||||
|
|
||||||
if [[ "${DB_PASSWORD}" == "CHANGE_ME_DB_PASSWORD" || "${SYNC_SHARED_TOKEN}" == "CHANGE_ME_SYNC_SHARED_TOKEN" || "${MAINLAND_CONTROLLER_IP}" == "127.0.0.1" ]]; then
|
if [[ "${DB_PASSWORD}" == "CHANGE_ME_DB_PASSWORD" || "${REDIS_PASSWORD}" == "CHANGE_ME_REDIS_PASSWORD" || "${SYNC_SHARED_TOKEN}" == "CHANGE_ME_SYNC_SHARED_TOKEN" || "${MAINLAND_CONTROLLER_IP}" == "127.0.0.1" ]]; then
|
||||||
echo "请先修改配置文件中的必填项:DB_PASSWORD / SYNC_SHARED_TOKEN / MAINLAND_CONTROLLER_IP"
|
echo "请先修改配置文件中的必填项:DB_PASSWORD / REDIS_PASSWORD / SYNC_SHARED_TOKEN / MAINLAND_CONTROLLER_IP"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -95,7 +96,7 @@ DB_PASSWORD=${DB_PASSWORD}
|
|||||||
|
|
||||||
REDIS_HOST=${MAINLAND_CONTROLLER_IP}
|
REDIS_HOST=${MAINLAND_CONTROLLER_IP}
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||||
REDIS_DB=0
|
REDIS_DB=0
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -117,7 +118,7 @@ DB_PASSWORD=${DB_PASSWORD}
|
|||||||
|
|
||||||
REDIS_HOST=${MAINLAND_CONTROLLER_IP}
|
REDIS_HOST=${MAINLAND_CONTROLLER_IP}
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||||
REDIS_DB=0
|
REDIS_DB=0
|
||||||
|
|
||||||
SYNC_PUSH_ENABLED=true
|
SYNC_PUSH_ENABLED=true
|
||||||
|
|||||||
Reference in New Issue
Block a user