422 lines
8.6 KiB
Markdown
422 lines
8.6 KiB
Markdown
# 部署脚本使用说明
|
||
|
||
## 📅 更新时间
|
||
2025年12月13日
|
||
|
||
---
|
||
|
||
## 🎯 脚本对比总览
|
||
|
||
| 脚本名称 | 用途 | 适用场景 | 推荐度 |
|
||
|---------|------|----------|--------|
|
||
| **deploy-website-update.sh** | 销售官网更新 | 更新销售页面组件 | ⭐⭐⭐⭐⭐ **强烈推荐** |
|
||
| deploy.sh | 完整部署 | 首次部署或大版本更新 | ⭐⭐⭐⭐ |
|
||
| deploy-final.sh | 登录功能更新 | 更新认证相关功能 | ⭐⭐⭐ |
|
||
| deploy-auth.sh | 认证系统部署 | 部署NextAuth | ⭐⭐ |
|
||
| deploy-database.sh | 数据库部署 | 部署PostgreSQL | ⭐⭐ |
|
||
| deploy-signup.sh | 注册功能部署 | 部署用户注册 | ⭐⭐ |
|
||
| deploy-with-database.sh | 认证+数据库 | 完整认证系统 | ⭐⭐ |
|
||
|
||
---
|
||
|
||
## 🚀 推荐使用脚本
|
||
|
||
### 1️⃣ **deploy-website-update.sh** ⭐⭐⭐⭐⭐
|
||
|
||
**专门为本次销售官网更新创建**
|
||
|
||
#### 适用场景
|
||
- ✅ 更新销售页面(Hero、Pricing、Features等)
|
||
- ✅ 更新系统功能介绍
|
||
- ✅ 更新价格策略
|
||
- ✅ 添加远程部署服务
|
||
|
||
#### 更新内容
|
||
- `components/Hero.tsx` - 首页组件
|
||
- `components/Pricing.tsx` - 价格组件
|
||
- `components/Features.tsx` - 功能组件
|
||
- `components/SystemFeatures.tsx` - 系统功能组件(新增)
|
||
- `app/page.tsx` - 首页入口
|
||
- `package.json` - 依赖配置
|
||
|
||
#### 使用方法
|
||
```bash
|
||
cd /Users/lanmu/Desktop/xiaso
|
||
bash deploy-website-update.sh
|
||
```
|
||
|
||
#### 部署流程
|
||
1. 检查服务器连接
|
||
2. 打包更新的组件文件
|
||
3. 上传到服务器
|
||
4. 解压文件
|
||
5. 重新构建Docker镜像
|
||
6. 启动服务
|
||
7. 验证部署
|
||
|
||
#### 预计时间
|
||
**3-5分钟**
|
||
|
||
#### 优点
|
||
- ✅ 只更新必要文件,速度快
|
||
- ✅ 包含所有本次更新的组件
|
||
- ✅ 自动验证部署结果
|
||
- ✅ 清晰的进度提示
|
||
|
||
---
|
||
|
||
### 2️⃣ **deploy.sh** ⭐⭐⭐⭐
|
||
|
||
**全量同步脚本,适合大版本更新**
|
||
|
||
#### 适用场景
|
||
- ✅ 首次部署
|
||
- ✅ 大版本更新(多个模块修改)
|
||
- ✅ 需要同步所有文件
|
||
|
||
#### 使用方法
|
||
```bash
|
||
cd /Users/lanmu/Desktop/xiaso
|
||
bash deploy.sh
|
||
```
|
||
|
||
#### 部署流程
|
||
1. 创建远程目录
|
||
2. 使用rsync同步所有文件(排除node_modules、.next等)
|
||
3. 检查并安装Docker
|
||
4. 检查并安装Docker Compose
|
||
5. 构建并启动容器
|
||
|
||
#### 预计时间
|
||
**5-10分钟**(首次部署可能更长)
|
||
|
||
#### 优点
|
||
- ✅ 完整同步所有文件
|
||
- ✅ 自动处理依赖
|
||
- ✅ 自动安装Docker
|
||
|
||
#### 缺点
|
||
- ❌ 同步文件较多,速度较慢
|
||
- ❌ 可能会覆盖一些不需要更新的文件
|
||
|
||
---
|
||
|
||
## ❌ 不推荐用于本次更新的脚本
|
||
|
||
### deploy-final.sh
|
||
|
||
**问题**:只打包特定文件,不包含本次更新的SystemFeatures.tsx
|
||
|
||
```bash
|
||
# 只打包这些文件
|
||
tar -czf final-update.tar.gz \
|
||
lib \
|
||
app/api/auth \
|
||
components/Pricing.tsx \ # 只有Pricing.tsx
|
||
package.json
|
||
```
|
||
|
||
**缺失**:
|
||
- ❌ components/Hero.tsx
|
||
- ❌ components/Features.tsx
|
||
- ❌ components/SystemFeatures.tsx(新增)
|
||
- ❌ app/page.tsx
|
||
|
||
---
|
||
|
||
### deploy-auth.sh
|
||
|
||
**用途**:只部署NextAuth认证系统
|
||
|
||
**不适合原因**:
|
||
- ❌ 只更新认证相关文件
|
||
- ❌ 不包含销售页面组件
|
||
|
||
---
|
||
|
||
### deploy-database.sh
|
||
|
||
**用途**:只部署PostgreSQL数据库
|
||
|
||
**不适合原因**:
|
||
- ❌ 只部署数据库
|
||
- ❌ 不更新任何页面代码
|
||
|
||
---
|
||
|
||
### deploy-signup.sh
|
||
|
||
**用途**:只部署用户注册功能
|
||
|
||
**不适合原因**:
|
||
- ❌ 只更新注册相关文件
|
||
- ❌ 不包含销售页面更新
|
||
|
||
---
|
||
|
||
### deploy-with-database.sh
|
||
|
||
**用途**:部署认证系统含数据库
|
||
|
||
**不适合原因**:
|
||
- ❌ 只更新认证和数据库
|
||
- ❌ 不包含销售页面更新
|
||
|
||
---
|
||
|
||
## 📋 部署前检查清单
|
||
|
||
### 1. 确认更新的文件
|
||
|
||
本次更新包含以下文件:
|
||
- [x] `components/Hero.tsx` - 更新价格和推广期信息
|
||
- [x] `components/Pricing.tsx` - 添加三级版本和远程部署服务
|
||
- [x] `components/Features.tsx` - 更新优势对比
|
||
- [x] `components/SystemFeatures.tsx` - 新增系统功能介绍
|
||
- [x] `app/page.tsx` - 添加SystemFeatures组件
|
||
- [x] `package.json` - 依赖更新(如有)
|
||
|
||
### 2. 检查服务器连接
|
||
|
||
```bash
|
||
# 测试SSH连接
|
||
ssh root@45.249.208.118 "echo '连接成功'"
|
||
```
|
||
|
||
### 3. 备份当前版本(可选)
|
||
|
||
```bash
|
||
ssh root@45.249.208.118 "cd /opt/flnxi-website && tar -czf backup-$(date +%Y%m%d-%H%M%S).tar.gz ."
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 推荐部署流程
|
||
|
||
### 方案1:使用专用更新脚本(推荐)⭐⭐⭐⭐⭐
|
||
|
||
```bash
|
||
cd /Users/lanmu/Desktop/xiaso
|
||
bash deploy-website-update.sh
|
||
```
|
||
|
||
**优点**:
|
||
- ✅ 速度最快(3-5分钟)
|
||
- ✅ 只更新必要文件
|
||
- ✅ 专门为本次更新设计
|
||
|
||
---
|
||
|
||
### 方案2:使用全量同步脚本
|
||
|
||
```bash
|
||
cd /Users/lanmu/Desktop/xiaso
|
||
bash deploy.sh
|
||
```
|
||
|
||
**优点**:
|
||
- ✅ 同步所有文件,确保完整
|
||
- ✅ 适合大版本更新
|
||
|
||
**缺点**:
|
||
- ❌ 速度较慢(5-10分钟)
|
||
- ❌ 同步不必要的文件
|
||
|
||
---
|
||
|
||
## 📊 部署后验证
|
||
|
||
### 1. 检查容器状态
|
||
|
||
```bash
|
||
ssh root@45.249.208.118 'cd /opt/flnxi-website && docker-compose ps'
|
||
```
|
||
|
||
应该显示容器正在运行(Up状态)
|
||
|
||
### 2. 检查日志
|
||
|
||
```bash
|
||
ssh root@45.249.208.118 'cd /opt/flnxi-website && docker-compose logs --tail 50'
|
||
```
|
||
|
||
检查是否有错误
|
||
|
||
### 3. 访问网站
|
||
|
||
浏览器访问:http://45.249.208.118:3000
|
||
|
||
验证以下内容:
|
||
|
||
#### 首页(Hero)
|
||
- [x] 显示"推广期特惠:原价¥4,999,限时仅需¥599"
|
||
- [x] 显示"免费版:10人团队 + 100个素材"
|
||
- [x] 显示"远程部署¥299"徽章
|
||
- [x] 数据卡片显示正确价格
|
||
|
||
#### 系统功能(SystemFeatures)
|
||
- [x] 显示12大核心功能
|
||
- [x] 付费版功能显示紫色徽章
|
||
- [x] 功能卡片悬停效果正常
|
||
|
||
#### 核心优势(Features)
|
||
- [x] 显示"为什么选择我们"标题
|
||
- [x] 显示8大优势
|
||
- [x] 显示免费版vs付费版对比表
|
||
|
||
#### 价格(Pricing)
|
||
- [x] 显示三个版本:免费版、付费版、定制版
|
||
- [x] 显示远程部署服务卡片(¥299)
|
||
- [x] 推广期价格¥599正确显示
|
||
- [x] 原价¥4,999划线显示
|
||
|
||
---
|
||
|
||
## 🔧 故障排查
|
||
|
||
### 问题1:无法连接服务器
|
||
|
||
**错误信息**:
|
||
```
|
||
❌ 无法连接到服务器 45.249.208.118
|
||
```
|
||
|
||
**解决方案**:
|
||
1. 检查网络连接
|
||
2. 检查SSH密钥配置
|
||
3. 确认服务器IP地址正确
|
||
|
||
### 问题2:Docker构建失败
|
||
|
||
**错误信息**:
|
||
```
|
||
Error response from daemon: ...
|
||
```
|
||
|
||
**解决方案**:
|
||
```bash
|
||
# 登录服务器
|
||
ssh root@45.249.208.118
|
||
|
||
# 清理Docker缓存
|
||
cd /opt/flnxi-website
|
||
docker system prune -f
|
||
|
||
# 重新构建
|
||
docker-compose build --no-cache
|
||
docker-compose up -d
|
||
```
|
||
|
||
### 问题3:网站无法访问
|
||
|
||
**错误信息**:
|
||
```
|
||
⚠️ 网站响应异常 (HTTP 000)
|
||
```
|
||
|
||
**解决方案**:
|
||
```bash
|
||
# 查看容器日志
|
||
ssh root@45.249.208.118 'cd /opt/flnxi-website && docker-compose logs --tail 100'
|
||
|
||
# 检查容器状态
|
||
ssh root@45.249.208.118 'cd /opt/flnxi-website && docker-compose ps'
|
||
|
||
# 重启容器
|
||
ssh root@45.249.208.118 'cd /opt/flnxi-website && docker-compose restart'
|
||
```
|
||
|
||
### 问题4:页面显示不正确
|
||
|
||
**可能原因**:
|
||
- 浏览器缓存
|
||
- 文件未正确上传
|
||
|
||
**解决方案**:
|
||
1. 清除浏览器缓存(Ctrl+Shift+R 或 Cmd+Shift+R)
|
||
2. 检查服务器上的文件是否正确更新
|
||
3. 重新部署
|
||
|
||
---
|
||
|
||
## 📝 部署日志示例
|
||
|
||
### 成功部署的日志
|
||
|
||
```bash
|
||
🚀 部署销售官网更新...
|
||
|
||
检查服务器连接...
|
||
✅ 服务器连接成功
|
||
|
||
步骤 1/6: 打包更新文件...
|
||
✅ 文件打包完成
|
||
打包内容:
|
||
- components/Hero.tsx
|
||
- components/Pricing.tsx
|
||
- components/Features.tsx
|
||
- components/SystemFeatures.tsx
|
||
- app/page.tsx
|
||
- package.json
|
||
|
||
步骤 2/6: 上传到服务器...
|
||
✅ 上传完成
|
||
|
||
步骤 3/6: 解压更新文件...
|
||
✅ 解压完成
|
||
|
||
步骤 4/6: 重新构建Docker镜像...
|
||
⏳ 这可能需要2-3分钟,请稍候...
|
||
✅ Docker镜像已重新构建
|
||
|
||
步骤 5/6: 启动服务...
|
||
✅ 服务已启动
|
||
|
||
步骤 6/6: 验证部署...
|
||
✅ 网站响应正常 (HTTP 200)
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
🎉 销售官网更新部署完成!
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
📝 更新内容:
|
||
✅ Hero首页组件
|
||
✅ Pricing价格组件
|
||
✅ SystemFeatures系统功能组件
|
||
✅ Features核心优势组件
|
||
|
||
🌐 访问地址:
|
||
http://45.249.208.118:3000
|
||
|
||
✨ 部署成功!
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 总结
|
||
|
||
### 本次更新推荐使用
|
||
|
||
```bash
|
||
bash deploy-website-update.sh
|
||
```
|
||
|
||
**理由**:
|
||
1. ✅ 专门为销售页面更新设计
|
||
2. ✅ 包含所有本次更新的文件
|
||
3. ✅ 速度快(3-5分钟)
|
||
4. ✅ 自动验证部署结果
|
||
5. ✅ 清晰的进度提示
|
||
|
||
### 备选方案
|
||
|
||
如果遇到问题,可以使用全量同步:
|
||
```bash
|
||
bash deploy.sh
|
||
```
|
||
|
||
---
|
||
|
||
**祝部署顺利!🚀**
|
||
|