3.9 KiB
3.9 KiB
运维连接手册(Cloud SQL + GCE)
本手册记录本项目当前线上环境的关键连接信息。 目标:后续只看这一个文档,就能快速连上数据库和服务器。
0. 固定信息
- GCP Project ID:
gen-lang-client-0835616737 - Cloud SQL instance connection name:
gen-lang-client-0835616737:asia-northeast1:arb-db - Cloud SQL DB:
arb_engine - DB user:
arb - DB password (当前):
arb_engine_2026 - 线上 VM:
instance-20260221-064508 - Zone:
asia-northeast1-b - 线上项目目录:
/home/fzq1228/Projects/arbitrage-engine
1. 本机连接 Cloud SQL
1.1 启动 Proxy(本机)
开一个终端窗口常驻运行:
cloud-sql-proxy gen-lang-client-0835616737:asia-northeast1:arb-db --port 9470
如果系统找不到命令,用完整路径:
/opt/homebrew/share/google-cloud-sdk/bin/cloud-sql-proxy \
gen-lang-client-0835616737:asia-northeast1:arb-db \
--port 9470
1.2 测试 DB 连通性
PGPASSWORD=arb_engine_2026 psql -h 127.0.0.1 -p 9470 -U arb -d arb_engine -c "SELECT 1;"
进入交互式 SQL:
PGPASSWORD=arb_engine_2026 psql -h 127.0.0.1 -p 9470 -U arb -d arb_engine
1.3 Proxy 常见修复
如果报错类似 server closed the connection unexpectedly 或 connection refused:
pkill -f "cloud-sql-proxy gen-lang-client-0835616737:asia-northeast1:arb-db --port 9470" || true
cloud-sql-proxy gen-lang-client-0835616737:asia-northeast1:arb-db --port 9470
2. 连接线上服务器(GCE)
2.1 先确认账号和项目
gcloud auth list --filter=status:ACTIVE --format='value(account)'
gcloud config get-value project
如需切换项目:
gcloud config set project gen-lang-client-0835616737
2.2 查看实例
gcloud compute instances list --format='table(name,zone,status,networkInterfaces[0].networkIP,networkInterfaces[0].accessConfigs[0].natIP)'
2.3 SSH(推荐 IAP)
注意:该实例直连 22 端口可能失败,推荐固定用 IAP:
gcloud compute ssh instance-20260221-064508 \
--zone asia-northeast1-b \
--project gen-lang-client-0835616737 \
--tunnel-through-iap
快速连通性测试:
gcloud compute ssh instance-20260221-064508 \
--zone asia-northeast1-b \
--project gen-lang-client-0835616737 \
--tunnel-through-iap \
--command "hostname; whoami; uptime; pwd"
3. 线上项目目录与运行状态
3.1 项目目录
- Repo root:
/home/fzq1228/Projects/arbitrage-engine - Backend:
/home/fzq1228/Projects/arbitrage-engine/backend - Frontend:
/home/fzq1228/Projects/arbitrage-engine/frontend
3.2 当前运行形态(关键)
- 运行用户:
fzq1228 - 进程管理:
pm2(PM2 God Daemon 在跑) - 关键进程:
python3 signal_engine.pypython3 paper_monitor.pyuvicorn main:app --host 0.0.0.0 --port 4332next start -p 4333
进程核对命令:
ps -ef | egrep -i 'signal_engine|paper_monitor|uvicorn|next start|PM2' | grep -v egrep
4. 常用线上操作命令
进入项目目录:
cd /home/fzq1228/Projects/arbitrage-engine
查看分支和最近提交(避免 safe.directory 报错):
sudo git -c safe.directory=/home/fzq1228/Projects/arbitrage-engine -C /home/fzq1228/Projects/arbitrage-engine rev-parse --abbrev-ref HEAD
sudo git -c safe.directory=/home/fzq1228/Projects/arbitrage-engine -C /home/fzq1228/Projects/arbitrage-engine log --oneline -1
5. 快速故障排查
- DB 报
connection refused- Proxy 没开或者端口不是
9470。
- Proxy 没开或者端口不是
- DB 报
server closed the connection unexpectedly- 通常是旧 Proxy 假活着,重启 Proxy。
- SSH 报
Connection closed by ... port 22- 改用
--tunnel-through-iap。
- 改用
- 能 SSH 但找不到项目目录
- 当前在线项目目录固定是
/home/fzq1228/Projects/arbitrage-engine,不要只在~/下面找。
- 当前在线项目目录固定是