# 部署指南 ## 快速开始 ### 1. 本地开发环境 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 访问 http://localhost:5173 ``` ### 2. 生产环境打包 ```bash # 打包 npm run build # 输出目录 dist/ # 文件会自动复制到 ../server/public/admin/ ``` ## 部署步骤 ### 步骤 1: 配置 HTTPS TUIKit 视频通话功能需要 HTTPS 环境。 **快速配置(推荐):** ```bash # 使用自动化脚本 sudo bash setup-https.sh # 按照提示输入: # - 项目路径 # - API 端口 ``` **手动配置:** 参考 `HTTPS_DEPLOYMENT_GUIDE.md` ### 步骤 2: 配置 Nginx 使用提供的 `nginx-production.conf` 文件: ```bash # 复制配置 sudo cp nginx-production.conf /etc/nginx/sites-available/admin # 编辑配置(修改路径和端口) sudo nano /etc/nginx/sites-available/admin # 创建软链接 sudo ln -s /etc/nginx/sites-available/admin /etc/nginx/sites-enabled/ # 测试配置 sudo nginx -t # 重启 Nginx sudo systemctl restart nginx ``` ### 步骤 3: 验证部署 ```bash # 检查 HTTPS 连接 curl -I https://api.zzzhengyangtang.cn/admin # 检查证书 sudo certbot certificates # 查看 Nginx 日志 sudo tail -f /var/log/nginx/admin_https_error.log ``` ## 文件说明 | 文件 | 说明 | |------|------| | `nginx-production.conf` | Nginx HTTPS 配置文件 | | `setup-https.sh` | 自动化 HTTPS 配置脚本 | | `HTTPS_DEPLOYMENT_GUIDE.md` | 详细的 HTTPS 部署指南 | | `TROUBLESHOOTING.md` | 故障排查指南 | | `diagnose.js` | 浏览器诊断脚本 | | `src/utils/checkHttps.ts` | HTTPS 检查工具 | ## 常见问题 ### Q: 页面打不开 **A:** 1. 检查 Nginx 配置:`sudo nginx -t` 2. 查看错误日志:`sudo tail -f /var/log/nginx/error.log` 3. 确保静态文件路径正确 4. 清除浏览器缓存 ### Q: TUIKit 错误 **A:** 1. 确保使用 HTTPS 协议 2. 检查浏览器控制台错误 3. 运行诊断脚本:`diagnose.js` 4. 查看 `TROUBLESHOOTING.md` ### Q: 视频通话无法连接 **A:** 1. 检查网络连接 2. 检查防火墙设置 3. 确保后端 API 正常运行 4. 检查签名获取是否成功 ### Q: 证书过期 **A:** ```bash # 手动续期 sudo certbot renew # 检查自动续期任务 sudo crontab -l ``` ## 性能优化 ### 1. 启用 Gzip 压缩 在 `nginx-production.conf` 中添加: ```nginx gzip on; gzip_types text/plain text/css text/javascript application/javascript; gzip_min_length 1000; ``` ### 2. 启用浏览器缓存 已在 `nginx-production.conf` 中配置 ### 3. 使用 CDN 修改 `vite.config.ts`: ```typescript export default defineConfig({ base: 'https://your-cdn.com/admin/', // ... }) ``` ### 4. 监控性能 在浏览器控制台运行 `diagnose.js` 查看性能指标 ## 监控和维护 ### 日志监控 ```bash # 实时查看 Nginx 访问日志 sudo tail -f /var/log/nginx/admin_https_access.log # 查看错误日志 sudo tail -f /var/log/nginx/admin_https_error.log # 查看应用日志 tail -f /path/to/your/app.log ``` ### 证书监控 ```bash # 查看证书状态 sudo certbot certificates # 检查证书有效期 openssl x509 -in /etc/letsencrypt/live/api.zzzhengyangtang.cn/fullchain.pem -noout -dates # 测试自动续期 sudo certbot renew --dry-run ``` ### 系统监控 ```bash # 检查磁盘空间 df -h # 检查内存使用 free -h # 检查 CPU 使用 top # 检查进程 ps aux | grep nginx ``` ## 安全建议 1. **启用 HSTS**(已配置) - 强制使用 HTTPS - 防止中间人攻击 2. **定期更新** ```bash # 更新系统 sudo apt update && sudo apt upgrade # 更新 Node.js 依赖 npm update ``` 3. **备份重要文件** ```bash # 备份 SSL 证书 sudo tar -czf ssl-backup.tar.gz /etc/letsencrypt/ # 备份应用文件 tar -czf app-backup.tar.gz /path/to/your/app/ ``` 4. **配置防火墙** ```bash # 允许 HTTP 和 HTTPS sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 允许 SSH sudo ufw allow 22/tcp # 启用防火墙 sudo ufw enable ``` ## 故障排查 ### 问题:页面加载缓慢 **解决:** 1. 检查网络连接 2. 启用 Gzip 压缩 3. 使用 CDN 4. 优化资源大小 ### 问题:内存占用过高 **解决:** 1. 检查浏览器扩展 2. 清除缓存 3. 重启浏览器 4. 检查应用内存泄漏 ### 问题:连接超时 **解决:** 1. 检查网络连接 2. 增加超时时间 3. 检查防火墙 4. 检查后端服务 ## 获取帮助 1. 查看 `TROUBLESHOOTING.md` 获取详细的故障排查指南 2. 运行 `diagnose.js` 诊断脚本 3. 查看 Nginx 和应用日志 4. 参考 TUIKit 官方文档:https://cloud.tencent.com/document/product/647 ## 更新日志 ### v1.0.0 (2024-03-12) - ✓ 初始版本 - ✓ HTTPS 配置支持 - ✓ TUIKit 错误处理 - ✓ 诊断工具 - ✓ 部署指南 ## 许可证 MIT