This commit is contained in:
dekun
2026-05-22 13:18:14 +08:00
parent 5ccf39022a
commit 83d6b19b5e
4 changed files with 40 additions and 8 deletions
+5 -4
View File
@@ -108,8 +108,8 @@ curl -X POST http://127.0.0.1:21450/api/push/test
### 4.1 安装依赖 ### 4.1 安装依赖
```bash ```bash
# Python 3.10+ # Python 3.10+(部署脚本会自动创建 .venv;若无 venv 模块需先装)
sudo apt install -y python3 python3-pip python3-venv sudo apt install -y python3 python3-venv python3-pip
# Node.js + PM2 # Node.js + PM2
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
@@ -272,8 +272,8 @@ docker compose up -d
```bash ```bash
cd /opt/Binance_Altcoin_Monitor cd /opt/Binance_Altcoin_Monitor
git pull git pull
python3 -m pip install -r backend/requirements.txt -q ./deploy/pm2-deploy.sh
pm2 restart binance-altcoin-monitor # 或手动: .venv/bin/pip install -r backend/requirements.txt && pm2 restart binance-altcoin-monitor
``` ```
--- ---
@@ -284,6 +284,7 @@ pm2 restart binance-altcoin-monitor
|------|------| |------|------|
| `bash\r: No such file or directory` | 脚本为 Windows 换行,执行:`sed -i 's/\r$//' deploy/*.sh && chmod +x deploy/*.sh` | | `bash\r: No such file or directory` | 脚本为 Windows 换行,执行:`sed -i 's/\r$//' deploy/*.sh && chmod +x deploy/*.sh` |
| `cannot pull with rebase: unstaged changes` | 执行 `git stash` 后重试;或 `DEPLOY_SKIP_GIT_PULL=1 ./deploy/pm2-deploy.sh` 跳过拉取 | | `cannot pull with rebase: unstaged changes` | 执行 `git stash` 后重试;或 `DEPLOY_SKIP_GIT_PULL=1 ./deploy/pm2-deploy.sh` 跳过拉取 |
| `No module named pip` | 执行 `sudo apt install -y python3-venv` 后重新 `./deploy/pm2-deploy.sh`(脚本会用 .venv |
| Web 无数据 | 检查能否访问币安;国内服务器尝试 `PROXY_ENABLED=true` | | Web 无数据 | 检查能否访问币安;国内服务器尝试 `PROXY_ENABLED=true` |
| 企微收不到 | 检查 `WECOM_WEBHOOK_URL``curl -X POST .../api/push/test` | | 企微收不到 | 检查 `WECOM_WEBHOOK_URL``curl -X POST .../api/push/test` |
| 08:10 未推送 | 确认容器/PM2 在 08:10 前已运行;查日志 | | 08:10 未推送 | 确认容器/PM2 在 08:10 前已运行;查日志 |
+33
View File
@@ -36,3 +36,36 @@ git_update_safe() {
git stash pop || echo " 提示: stash 恢复冲突时可手动处理: git stash list" git stash pop || echo " 提示: stash 恢复冲突时可手动处理: git stash list"
fi fi
} }
# 创建 .venv 并安装依赖(不依赖系统 pip)
ensure_python_venv() {
local repo_dir="${1:?}"
cd "$repo_dir"
local venv_python="${repo_dir}/.venv/bin/python"
local venv_pip="${repo_dir}/.venv/bin/pip"
if [ ! -x "$venv_python" ]; then
echo " 创建虚拟环境 .venv ..."
if ! python3 -m venv .venv 2>/dev/null; then
echo " 安装 python3-venv(需要 root..."
if command -v apt-get &>/dev/null; then
sudo apt-get update -qq
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq python3-venv python3-pip
elif command -v yum &>/dev/null; then
sudo yum install -y python3-pip
elif command -v dnf &>/dev/null; then
sudo dnf install -y python3-pip
else
echo "错误: 无法创建 venv,请手动安装 python3-venv 或 python3-pip"
exit 1
fi
python3 -m venv .venv
fi
fi
echo " 安装 Python 依赖到 .venv ..."
"$venv_pip" install -U pip -q
"$venv_pip" install -r backend/requirements.txt -q
echo " 使用: $("$venv_python" --version 2>&1) ($venv_python)"
}
+1 -3
View File
@@ -45,9 +45,7 @@ fi
mkdir -p data logs mkdir -p data logs
echo "==> 安装 Python 依赖..." ensure_python_venv "${INSTALL_DIR}"
python3 -m pip install -U pip -q
python3 -m pip install -r backend/requirements.txt -q
echo "==> 启动 PM2..." echo "==> 启动 PM2..."
pm2 delete binance-altcoin-monitor 2>/dev/null || true pm2 delete binance-altcoin-monitor 2>/dev/null || true
+1 -1
View File
@@ -8,7 +8,7 @@ module.exports = {
name: "binance-altcoin-monitor", name: "binance-altcoin-monitor",
cwd: "/opt/Binance_Altcoin_Monitor", cwd: "/opt/Binance_Altcoin_Monitor",
script: "run.py", script: "run.py",
interpreter: "python3", interpreter: "/opt/Binance_Altcoin_Monitor/.venv/bin/python",
instances: 1, instances: 1,
autorestart: true, autorestart: true,
watch: false, watch: false,