feat(iit): Complete REDCap production deployment on Alibaba Cloud ECS

Summary:

- Deploy REDCap 15.8.0 on ECS with Docker CE 26.1.3

- Configure RDS MySQL 8.0 database (redcap_prod)

- Setup Nginx reverse proxy with HTTPS/SSL

- Domain configured: https://redcap.xunzhengyixue.com/

Documentation:

- Add ECS deployment guide

- Add deployment info record

- Update system status document (v4.5 -> v4.6)

Status: REDCap production environment fully operational
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-02 22:27:05 +08:00
parent 4c2c9b437b
commit 4b9b90ffb8
5 changed files with 1162 additions and 10 deletions

View File

@@ -0,0 +1,321 @@
# REDCap 生产环境部署信息记录
**创建日期:** 2026-02-02
**最后更新:** 2026-02-02
**状态:** ✅ 部署成功运行中HTTPS + 域名已配置)
**⚠️ 机密文档:** 请妥善保管,不要提交到公开代码仓库
---
## 🌐 访问地址
| 服务 | 地址 | 备注 |
|------|------|------|
| **REDCap 主页** | https://redcap.xunzhengyixue.com/ | ✅ 生产环境(推荐) |
| **REDCap 控制中心** | https://redcap.xunzhengyixue.com/ControlCenter/ | 管理员入口 |
| **REDCap API** | https://redcap.xunzhengyixue.com/api/ | API 接口 |
| **备用地址IP** | http://39.105.153.58/ | 会重定向到 HTTPS |
---
## 🖥️ ECS 服务器信息
| 项目 | 值 |
|------|-----|
| **实例名称** | launch-advisor-20260108 |
| **实例ID** | i-2ze51hziwjg23m2u1fg4 |
| **公网IP** | `39.105.153.58` |
| **私网IP** | `172.17.173.82` |
| **规格** | ecs.u2a-c1m2.large (2核 4GB) |
| **操作系统** | Alibaba Cloud Linux 3.2104 LTS |
| **可用区** | 华北2北京F |
| **到期时间** | 2027-01-09 |
| **VPC** | vpc-2ze055cptkew9c38w4r06 |
### SSH 登录信息
```bash
ssh root@39.105.153.58
```
| 项目 | 值 |
|------|-----|
| **用户名** | root |
| **密码** | `Xilu,881009` |
---
## 🗄️ RDS MySQL 数据库信息
| 项目 | 值 |
|------|-----|
| **实例ID** | rm-2ze9587199003517c |
| **数据库类型** | MySQL 8.0 |
| **规格** | mysql.n2e.medium.1 (2核 4GB) |
| **内网地址** | `rm-2ze9587199003517c.mysql.rds.aliyuncs.com` |
| **端口** | 3306 |
| **可用区** | 华北2北京F |
| **到期时间** | 2027-01-09 |
### REDCap 数据库
| 项目 | 值 |
|------|-----|
| **数据库名** | `redcap_prod` |
| **字符集** | utf8mb4 |
| **用户名** | `redcap_user` |
| **密码** | `Xilu@881009` |
### 数据库连接命令
```bash
mysql -h rm-2ze9587199003517c.mysql.rds.aliyuncs.com -u redcap_user -p'Xilu@881009' redcap_prod
```
---
## 👤 REDCap 管理员账户
| 项目 | 值 |
|------|-----|
| **用户名** | `admin` |
| **密码** | `Xilu,881009` |
| **权限** | 超级管理员 |
---
## 🔐 关键安全信息
### Salt 值(⚠️ 永不可变!)
```
redcap_prod_salt_2026_xilu_medical_v1_never_change
```
> **警告**Salt 值用于数据去标识化哈希,一旦设置**永远不能更改**
> 更改将导致所有去标识化数据失效,请务必备份保存。
### database.php 配置文件位置
```
ECS 路径: /opt/redcap/config/database.php
容器内路径: /var/www/html/redcap/database.php
```
---
## 🐳 Docker 部署信息
### 文件路径
| 文件/目录 | 路径 |
|----------|------|
| **部署根目录** | `/opt/redcap/` |
| **REDCap 源码** | `/opt/redcap/redcap15.8.0/redcap/` |
| **Docker Compose 文件** | `/opt/redcap/docker-compose.prod.yml` |
| **Dockerfile** | `/opt/redcap/Dockerfile.redcap` |
| **database.php** | `/opt/redcap/config/database.php` |
| **Apache 配置** | `/opt/redcap/config/apache/redcap.conf` |
| **PHP 配置** | `/opt/redcap/config/php/php.ini` |
| **日志目录** | `/opt/redcap/logs/` |
### Docker 信息
| 项目 | 值 |
|------|-----|
| **容器名称** | redcap-prod |
| **镜像名称** | redcap-redcap-web |
| **Docker 版本** | 26.1.3 |
| **Docker Compose 版本** | v2.27.0 |
### Docker 数据卷
| 卷名 | 用途 | 备注 |
|------|------|------|
| redcap-edocs-prod | 上传文件 | **重要!需定期备份** |
| redcap-modules-prod | External Modules | 可选备份 |
| redcap-temp-prod | 临时文件 | 可定期清理 |
### 常用 Docker 命令
```bash
# 进入部署目录
cd /opt/redcap
# 查看容器状态
docker compose -f docker-compose.prod.yml ps
# 查看日志
docker logs redcap-prod --tail 100
# 重启服务
docker compose -f docker-compose.prod.yml restart
# 停止服务
docker compose -f docker-compose.prod.yml stop
# 启动服务
docker compose -f docker-compose.prod.yml start
# 进入容器
docker exec -it redcap-prod bash
```
---
## 🔧 Docker 镜像加速器配置
配置文件:`/etc/docker/daemon.json`
```json
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://dockerpull.org",
"https://docker.rainbond.cc",
"https://docker.m.daocloud.io"
]
}
```
---
## 🛡️ 安全组配置
| 规则 | 协议 | 端口 | 授权对象 |
|------|------|------|---------|
| 入方向 | ALL | 全部 | 0.0.0.0/0 |
> **安全建议**:生产环境应限制 SSH 端口22只允许特定 IP 访问
---
## 🔒 HTTPS / SSL 配置
### 域名信息
| 项目 | 值 |
|------|-----|
| **域名** | `redcap.xunzhengyixue.com` |
| **DNS 解析** | A 记录 → `39.105.153.58` |
| **SSL 证书** | 阿里云免费证书DV |
| **证书有效期** | 1 年(需定期续期) |
### Nginx 反向代理
| 项目 | 值 |
|------|-----|
| **Nginx 版本** | 系统默认 |
| **配置文件** | `/etc/nginx/conf.d/redcap.conf` |
| **SSL 证书路径** | `/etc/nginx/ssl/redcap.xunzhengyixue.com.pem` |
| **SSL 私钥路径** | `/etc/nginx/ssl/redcap.xunzhengyixue.com.key` |
| **代理目标** | `http://127.0.0.1:8080` |
### 架构说明
```
用户访问 https://redcap.xunzhengyixue.com
Nginx (443/80) ← SSL 终止
Docker 容器 (8080) ← REDCap Apache
RDS MySQL (3306) ← 数据库
```
### Nginx 常用命令
```bash
# 检查配置
nginx -t
# 重启 Nginx
systemctl restart nginx
# 查看状态
systemctl status nginx
# 查看日志
tail -f /var/log/nginx/error.log
```
---
## 📦 软件版本
| 软件 | 版本 |
|------|------|
| REDCap | 15.8.0 |
| PHP | 8.1.x |
| Apache | 2.4.65 |
| MySQL | 8.0 (RDS) |
| Nginx | 系统默认 |
| Docker | 26.1.3 |
| Docker Compose | v2.27.0 |
| 操作系统 | Alibaba Cloud Linux 3.2104 |
---
## 💾 备份策略
### 数据库备份命令
```bash
# 手动备份
mysqldump -h rm-2ze9587199003517c.mysql.rds.aliyuncs.com \
-u redcap_user -p'Xilu@881009' \
redcap_prod > /opt/redcap/backups/redcap_db_$(date +%Y%m%d).sql
# 备份 edocs上传文件
docker cp redcap-prod:/var/www/html/redcap/edocs /opt/redcap/backups/edocs_$(date +%Y%m%d)
```
### 建议备份频率
| 数据类型 | 频率 | 保留时间 |
|---------|------|---------|
| 数据库 | 每日 | 30 天 |
| edocs 文件 | 每周 | 90 天 |
| 配置文件 | 每次修改后 | 永久 |
---
## 📋 部署时间线
| 日期 | 事件 |
|------|------|
| 2026-02-02 | ECS 服务器初始化,安装 Docker CE 26.1.3 |
| 2026-02-02 | 配置 Docker 镜像加速器(国内源) |
| 2026-02-02 | RDS MySQL 配置,创建数据库 redcap_prod 和用户 |
| 2026-02-02 | REDCap 15.8.0 源码和配置文件上传 |
| 2026-02-02 | Docker 容器构建和启动 |
| 2026-02-02 | 执行 redcap_install.sql 初始化数据库表 |
| 2026-02-02 | ✅ REDCap 生产环境部署完成HTTP |
| 2026-02-02 | 配置域名 redcap.xunzhengyixue.com DNS 解析 |
| 2026-02-02 | 申请并配置阿里云 SSL 证书 |
| 2026-02-02 | 安装 Nginx 反向代理,配置 HTTPS |
| 2026-02-02 | ✅ HTTPS + 域名配置完成 |
---
## ⚠️ 重要提醒
1. **Salt 值永不可变** - 更改将导致数据损坏
2. **定期备份数据库** - 防止数据丢失
3. **定期更新密码** - 增强安全性
4. **监控服务器状态** - 及时发现问题
5. **不要将此文档提交到公开仓库** - 包含敏感信息
---
## 📞 技术支持
- REDCap 官方文档https://projectredcap.org/
- 部署操作手册:[10-REDCap_Docker部署操作手册.md](./10-REDCap_Docker部署操作手册.md)
- ECS 部署方案:[14-REDCap_ECS生产环境部署方案.md](./14-REDCap_ECS生产环境部署方案.md)
- 问题排查手册:[13-部署问题排查手册.md](./13-部署问题排查手册.md)
---
**文档版本**v1.0
**创建者**AI Clinical Research 开发团队