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

配置文件 ​

修改配置 ​

本地修改 .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_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.