# DesignerCEP 部署前检查清单 ## ✅ 部署前准备(本地) ### 前端配置 - [ ] 创建 `Designer/.env.production` 文件 ```env VITE_API_BASE_URL=https://your-domain.com/api/v1 VITE_API_SERVER=https://your-domain.com ``` - [ ] 修改 `Designer/src/main.ts` 添加日志控制 ```typescript import { logger } from '@/utils/logger'; if (import.meta.env.PROD) { logger.disable(); // 生产环境关闭日志 } else { logger.enable(); // 开发环境开启日志 } ``` - [ ] 检查 `Designer/src/config.ts` 是否使用环境变量 ```typescript apiBaseUrl: import.meta.env.VITE_API_BASE_URL || 'http://127.0.0.1:8000/api/v1' ``` - [ ] 测试构建命令 ```bash cd Designer npm run build ``` - [ ] 检查构建产物(应该在 `Designer/dist/` 目录) - `dist/Shell/` - Shell 登录壳 - `dist/Designer/` - Core 核心应用 ### 后端配置 - [ ] 创建生产环境配置文件(用于上传到服务器) ```bash cp Server/.env.example Server/.env.production ``` - [ ] 修改 `Server/.env.production`: - [ ] 修改 `SECRET_KEY` 为强随机密钥 - [ ] 设置 `DEBUG=False` - [ ] 配置 `ALLOWED_ORIGINS`(你的域名) - [ ] 配置数据库连接(如使用 PostgreSQL/MySQL) - [ ] 检查 `Server/requirements.txt` 包含所有依赖 - [ ] 打包 Shell(供用户下载) ```bash cd Designer/dist zip -r shell-1.0.0.zip Shell/ # 将 shell-1.0.0.zip 准备上传到服务器 ``` --- ## 🖥️ 服务器准备 ### 基础环境 - [ ] 服务器已购买(推荐:阿里云、腾讯云、AWS) - [ ] 操作系统:Ubuntu 20.04+ 或 CentOS 7+ - [ ] 配置:最低 1核2G,推荐 2核4G - [ ] 已安装 Python 3.9+ ```bash python3 --version ``` - [ ] 已安装 Nginx ```bash nginx -v ``` - [ ] 已安装 Git ```bash git --version ``` ### 域名和 SSL - [ ] 域名已购买 - [ ] DNS 已解析到服务器 IP ```bash # 验证 DNS 解析 ping your-domain.com ``` - [ ] 准备申请 SSL 证书(Let's Encrypt 免费) ### 网络配置 - [ ] 服务器防火墙已开放端口: - [ ] 22 (SSH) - [ ] 80 (HTTP) - [ ] 443 (HTTPS) - [ ] 安全组规则已配置(云服务器) --- ## 📤 文件上传 ### 上传后端代码 - [ ] 方式 1: 使用 Git(推荐) ```bash ssh user@your-server cd /var/www git clone https://your-repo-url.git DesignerCEP ``` - [ ] 方式 2: 使用 SCP ```bash scp -r Server/ user@your-server:/var/www/DesignerCEP/ ``` ### 上传前端构建产物 - [ ] 上传 Shell 在线登录页 ```bash scp -r Designer/dist/Shell/* \ user@your-server:/var/www/DesignerCEP/Server/static/shell/ ``` - [ ] 上传 Core(核心应用) ```bash scp -r Designer/dist/Designer/* \ user@your-server:/var/www/DesignerCEP/Server/static/core/1.0.0/ ``` - [ ] 打包并上传 Shell(供 CEP 扩展下载) ```bash # 本地打包 cd Designer/dist zip -r shell-1.0.0.zip Shell/ # 上传到服务器 scp shell-1.0.0.zip \ user@your-server:/var/www/DesignerCEP/Server/static/downloads/ ``` --- ## 🔧 服务器配置 ### Python 环境 - [ ] 创建虚拟环境 ```bash cd /var/www/DesignerCEP/Server python3 -m venv venv source venv/bin/activate ``` - [ ] 安装依赖 ```bash pip install -r requirements.txt pip install gunicorn uvicorn[standard] ``` ### 环境变量 - [ ] 上传 `.env.production` 并重命名为 `.env` ```bash scp Server/.env.production user@your-server:/var/www/DesignerCEP/Server/.env ``` - [ ] 验证配置 ```bash cat /var/www/DesignerCEP/Server/.env ``` ### 目录结构 - [ ] 验证目录结构正确 ``` /var/www/DesignerCEP/Server/ ├── app/ ├── static/ │ ├── shell/ # Shell 在线登录页 │ │ ├── index.html │ │ └── assets/ │ ├── downloads/ # 下载文件 │ │ └── shell-1.0.0.zip │ └── core/ │ └── 1.0.0/ │ ├── index.html │ └── assets/ ├── .env ├── requirements.txt └── venv/ ``` - [ ] 创建日志目录 ```bash mkdir -p /var/www/DesignerCEP/Server/logs ``` ### Systemd 服务 - [ ] 创建服务文件 ```bash sudo nano /etc/systemd/system/designer-cep.service ``` - [ ] 启动服务 ```bash sudo systemctl daemon-reload sudo systemctl start designer-cep sudo systemctl enable designer-cep ``` - [ ] 验证服务状态 ```bash sudo systemctl status designer-cep ``` ### Nginx 配置 - [ ] 创建 Nginx 配置文件 ```bash sudo nano /etc/nginx/sites-available/designer-cep ``` - [ ] 启用配置 ```bash sudo ln -s /etc/nginx/sites-available/designer-cep /etc/nginx/sites-enabled/ ``` - [ ] 测试 Nginx 配置 ```bash sudo nginx -t ``` - [ ] 重启 Nginx ```bash sudo systemctl restart nginx ``` ### SSL 证书 - [ ] 安装 Certbot ```bash sudo apt install certbot python3-certbot-nginx ``` - [ ] 申请证书 ```bash sudo certbot --nginx -d your-domain.com -d www.your-domain.com ``` - [ ] 验证自动续期 ```bash sudo certbot renew --dry-run ``` --- ## 🧪 测试验证 ### 后端 API 测试 - [ ] 健康检查 ```bash curl https://your-domain.com/api/v1/health ``` - [ ] 登录接口 ```bash curl -X POST https://your-domain.com/api/v1/client/login \ -H "Content-Type: application/json" \ -d '{"username":"test","password":"test123","device_id":"test-device"}' ``` ### 前端访问测试 - [ ] 访问 Shell 在线登录页 ``` https://your-domain.com/shell/ 或 https://your-domain.com/shell/index.html ``` - [ ] 访问 Core 首页 ``` https://your-domain.com/core/1.0.0/index.html ``` - [ ] 检查静态资源加载(F12 查看 Network) - [ ] Shell 下载链接(供 CEP 扩展下载) ``` https://your-domain.com/downloads/shell-1.0.0.zip ``` ### 功能测试 - [ ] 用户注册功能 - [ ] 用户登录功能 - [ ] 自动登录功能 - [ ] 版本检查和更新 - [ ] Photoshop 插件功能(创建图层等) - [ ] 退出登录功能 ### 性能测试 - [ ] 页面加载速度 ```bash curl -w "@curl-format.txt" -o /dev/null -s https://your-domain.com/core/1.0.0/ ``` - [ ] API 响应时间 - [ ] 并发测试(可选) ```bash ab -n 1000 -c 10 https://your-domain.com/api/v1/health ``` --- ## 🔒 安全检查 - [ ] 防火墙已启用 ```bash sudo ufw status ``` - [ ] 仅开放必要端口(22, 80, 443) - [ ] `SECRET_KEY` 已修改为强随机值 - [ ] `DEBUG=False` 已设置 - [ ] CORS 配置正确(`ALLOWED_ORIGINS`) - [ ] 数据库密码强度检查(如使用数据库) - [ ] 文件权限检查 ```bash # .env 文件应该仅所有者可读 chmod 600 /var/www/DesignerCEP/Server/.env ``` - [ ] 定期更新系统和依赖 ```bash sudo apt update && sudo apt upgrade ``` --- ## 📊 监控配置(可选) - [ ] 配置日志轮转 ```bash sudo nano /etc/logrotate.d/designer-cep ``` - [ ] 设置系统监控(推荐工具) - [ ] Prometheus + Grafana - [ ] Zabbix - [ ] Datadog - [ ] 配置错误追踪(推荐) - [ ] Sentry - [ ] Bugsnag - [ ] 配置服务告警(推荐) - [ ] 邮件告警 - [ ] 短信告警 - [ ] 企业微信/钉钉告警 --- ## 📝 文档和备份 - [ ] 记录服务器信息 - 服务器 IP: __________________ - SSH 用户名: __________________ - SSH 密钥位置: __________________ - 域名: __________________ - [ ] 记录部署信息 - 部署日期: __________________ - 当前版本: __________________ - 数据库位置: __________________ - [ ] 设置定期备份 - [ ] 数据库备份(每天) - [ ] 配置文件备份 - [ ] 用户数据备份 - [ ] 编写故障恢复文档 --- ## 🎉 上线后操作 - [ ] 通知用户新版本上线 - [ ] 更新 CEP 插件配置(如需要) - 修改 API 地址指向生产环境 - [ ] 监控服务器资源使用情况 ```bash htop df -h ``` - [ ] 检查错误日志 ```bash sudo journalctl -u designer-cep -f sudo tail -f /var/log/nginx/designer-cep-error.log ``` - [ ] 第一周密切关注系统运行状况 --- ## 🆘 应急预案 ### 服务无法访问 1. 检查服务状态 ```bash sudo systemctl status designer-cep sudo systemctl status nginx ``` 2. 查看错误日志 ```bash sudo journalctl -u designer-cep -n 100 --no-pager ``` 3. 重启服务 ```bash sudo systemctl restart designer-cep sudo systemctl restart nginx ``` ### 回滚到上一版本 1. 切换 Core 版本(修改后端 API 返回的版本号) 2. 或直接替换静态文件 ```bash rm -rf /var/www/DesignerCEP/Server/static/core/1.0.1 # 恢复旧版本 ``` 3. 重启服务 --- **检查完成日期**: _______________ **检查人**: _______________ **备注**: _______________