Files
plm-docs/README.md
yunying 1f6872b170 docs: 添加生产环境部署文档
- 01-production-deployment-plan.md: 部署方案
- 02-production-config.md: 生产配置
- 03-data-migration.md: 数据迁移方案
- 04-deployment-checklist.md: 上线检查清单
- docker-compose.prod.yml: Docker Compose配置
- .env.prod.example: 环境变量示例
- nginx/: Nginx配置
- scripts/: 部署脚本
- init-scripts/: 初始化脚本

提交时间: 2026-04-03
提交人: yunying
2026-04-03 19:52:35 +08:00

4.8 KiB
Raw Permalink Blame History

PLM 系统生产环境部署包

📦 包内容说明

本部署包包含 PLM 系统生产环境部署所需的全部配置文件和文档。


📁 目录结构

plm-production-deployment/
├── 01-production-deployment-plan.md  # 生产环境部署方案
├── 02-production-config.md           # 生产环境配置文档
├── 03-data-migration.md              # 数据迁移方案
├── 04-deployment-checklist.md        # 上线检查清单
├── README.md                         # 本文件
├── docker-compose.prod.yml           # Docker Compose 生产配置
├── .env.prod.example                 # 环境变量模板
├── nginx/                            # Nginx 配置
│   ├── nginx.conf                    # Nginx 主配置
│   ├── conf.d/
│   │   └── production.conf           # 站点配置
│   ├── ssl/                          # SSL 证书目录(需自行放置)
│   └── html/                         # 静态文件目录
├── init-scripts/                     # 数据库初始化脚本
│   ├── 01-init-db.sql                # 数据库初始化
│   └── postgres-config.sql           # PostgreSQL 优化配置
├── scripts/                          # 运维脚本
│   └── backup.sh                     # 数据库备份脚本
├── backups/                          # 备份文件存储目录
└── logs/                             # 日志目录
    └── nginx/                        # Nginx 日志

🚀 快速部署步骤

1. 准备服务器

  • Ubuntu 20.04+ / CentOS 7+
  • Docker 20.10+
  • Docker Compose 2.0+
  • 4核8G+ 配置
  • 域名已解析到服务器

2. 上传部署包

# 在服务器上创建目录
mkdir -p /opt/plm-production
cd /opt/plm-production

# 上传本部署包内容到该目录

3. 配置环境变量

# 复制环境变量模板
cp .env.prod.example .env.prod

# 编辑 .env.prod修改所有 CHANGE_THIS_ 开头的值
nano .env.prod

# 设置文件权限
chmod 600 .env.prod

4. 配置 SSL 证书

# 方式1使用 Let's Encrypt
certbot certonly --standalone -d aifly.ren -d www.aifly.ren

# 复制证书到 nginx/ssl 目录
cp /etc/letsencrypt/live/aifly.ren/fullchain.pem nginx/ssl/aifly.ren.crt
cp /etc/letsencrypt/live/aifly.ren/privkey.pem nginx/ssl/aifly.ren.key

# 方式2使用自有证书
# 直接将证书文件放入 nginx/ssl/ 目录

5. 启动服务

# 加载环境变量
source .env.prod

# 启动基础设施(数据库、缓存)
docker-compose -f docker-compose.prod.yml up -d postgres redis

# 等待数据库就绪约30秒
sleep 30

# 初始化数据库(首次部署)
docker-compose -f docker-compose.prod.yml run --rm backend python -m app.init_db

# 启动所有服务
docker-compose -f docker-compose.prod.yml up -d

# 检查状态
docker-compose -f docker-compose.prod.yml ps

6. 验证部署

# 健康检查
curl https://aifly.ren/health

# 查看日志
docker-compose -f docker-compose.prod.yml logs -f

📋 重要文档索引

文档 用途 阅读时机
01-production-deployment-plan.md 部署方案、架构设计 部署前
02-production-config.md 详细配置说明 配置时
03-data-migration.md 数据迁移步骤 迁移时
04-deployment-checklist.md 上线检查清单 上线前

⚠️ 安全注意事项

  1. 环境变量.env.prod 包含敏感信息,务必设置 600 权限
  2. SSL 证书:生产环境必须启用 HTTPS
  3. 密码策略:所有密码使用强密码,定期轮换
  4. 防火墙:仅开放 80/443/22 端口
  5. 备份:定期检查备份是否正常运行

🔧 常用运维命令

# 查看服务状态
docker-compose -f docker-compose.prod.yml ps

# 查看日志
docker-compose -f docker-compose.prod.yml logs -f [service-name]

# 重启服务
docker-compose -f docker-compose.prod.yml restart [service-name]

# 停止服务
docker-compose -f docker-compose.prod.yml down

# 更新部署
docker-compose -f docker-compose.prod.yml pull
docker-compose -f docker-compose.prod.yml up -d

# 手动备份
docker-compose -f docker-compose.prod.yml exec backup /backup.sh

# 进入数据库
docker-compose -f docker-compose.prod.yml exec postgres psql -U plm_prod -d plm_production

📞 技术支持

  • 部署问题:查看 01-production-deployment-plan.md
  • 配置问题:查看 02-production-config.md
  • 迁移问题:查看 03-data-migration.md
  • 上线检查:查看 04-deployment-checklist.md

版本: 1.0.0
更新日期: 2026-04-03
维护团队: 运维团队