外观
Amber API 运维文档
架构概览
| 服务 | 方案 |
|---|---|
| 应用 (new-api) | EC2 Docker 容器 |
| MySQL | AWS RDS MySQL 8.0 |
| Redis | AWS 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配置文件
修改配置
本地修改 .env 或 docker-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_DSN | RDS 连接串,格式:user:pass@tcp(endpoint:3306)/dbname |
REDIS_CONN_STRING | ElastiCache 连接串,格式:rediss://endpoint:6379 |
SESSION_SECRET | Session 签名密钥,用 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.sqlRedis (ElastiCache)
从 EC2 测试连接:
bash
redis-cli --tls -h clustercfg.amapi.showis.apne1.cache.amazonaws.com -p 6379 pingElastiCache 不支持公网访问,只能从同 VPC 的 EC2 连接。
故障排查
new-api 启动失败
- 检查 RDS/ElastiCache 安全组是否允许 EC2 访问
- 检查
.env中连接串格式是否正确 - 查看日志:
sudo docker logs amber-new-api --tail 100
SSH 连接卡住
- 关闭 Clash TUN 模式后重试
孤立容器警告
bash
sudo docker compose down --remove-orphans
sudo docker compose up -d