Skip to content

Amber API 运维文档

架构概览

服务方案
应用 (new-api)EC2 Docker 容器
MySQLAWS RDS MySQL 8.0
RedisAWS ElastiCache Redis (TLS)
反向代理Nginx Docker 容器

EC2 地址:18.181.46.139
项目目录:/data/amber-api/
登录密钥:amapi.web.pem


SSH 登录

bash
ssh -i "amapi.web.pem" [email protected]

注意:如果本地开启了 Clash TUN 模式,SSH 会卡住。需临时关闭 TUN 模式,或在 Clash 规则里给此 IP 加 DIRECT 直连。


常用操作

查看服务状态

bash
cd /data/amber-api
sudo docker compose ps

重启服务

bash
cd /data/amber-api
sudo docker compose down && sudo docker compose up -d

查看日志

bash
sudo docker logs amber-new-api --tail 100
sudo docker logs amber-nginx --tail 100

配置文件

修改配置

本地修改 .envdocker-compose.yml 后,同步到 EC2:

bash
scp -i "amapi.web.pem" .env [email protected]:/data/amber-api/
scp -i "amapi.web.pem" docker-compose.yml [email protected]:/data/amber-api/

然后重启服务使配置生效。

关键环境变量

变量说明
SQL_DSNRDS 连接串,格式:user:pass@tcp(endpoint:3306)/dbname
REDIS_CONN_STRINGElastiCache 连接串,格式:rediss://endpoint:6379
SESSION_SECRETSession 签名密钥,用 openssl rand -hex 32 生成

数据库运维

MySQL (RDS)

从 EC2 连接 RDS:

bash
mysql -h <rds-endpoint> -u admin -p

导出数据库(用于备份或迁移):

bash
mysqldump -h <rds-endpoint> -u admin -p \
  --databases new_api \
  --single-transaction \
  --no-tablespaces \
  --routines --triggers \
  > backup_$(date +%Y%m%d).sql

导入:

bash
mysql -h <rds-endpoint> -u admin -p < backup.sql

Redis (ElastiCache)

从 EC2 测试连接:

bash
redis-cli --tls -h clustercfg.amapi.showis.apne1.cache.amazonaws.com -p 6379 ping

ElastiCache 不支持公网访问,只能从同 VPC 的 EC2 连接。


故障排查

new-api 启动失败

  1. 检查 RDS/ElastiCache 安全组是否允许 EC2 访问
  2. 检查 .env 中连接串格式是否正确
  3. 查看日志:sudo docker logs amber-new-api --tail 100

SSH 连接卡住

  • 关闭 Clash TUN 模式后重试

孤立容器警告

bash
sudo docker compose down --remove-orphans
sudo docker compose up -d

© 2026 Amber Tech. All rights reserved.