new version
This commit is contained in:
237
DEPLOY.md
Normal file
237
DEPLOY.md
Normal file
@@ -0,0 +1,237 @@
|
||||
# 成长星球项目部署步骤
|
||||
|
||||
## 项目概述
|
||||
|
||||
成长星球是一个儿童成长规划Web应用,使用Vue 3 + TypeScript + Vite + Pinia + Three.js + Element Plus技术栈开发。
|
||||
|
||||
## 部署前准备
|
||||
|
||||
### 1. 环境要求
|
||||
|
||||
- Node.js 16.x 或更高版本
|
||||
- npm 7.x 或更高版本
|
||||
- 服务器环境(推荐使用Nginx + PM2)
|
||||
- 域名(可选)
|
||||
|
||||
### 2. 项目构建
|
||||
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
git clone <项目仓库地址>
|
||||
cd 儿童成长规划项目
|
||||
```
|
||||
|
||||
2. **安装依赖**
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **构建生产版本**
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
构建完成后,生成的静态文件将位于 `dist` 目录中。
|
||||
|
||||
## 服务器部署
|
||||
|
||||
### 1. 服务器准备
|
||||
|
||||
- **安装Node.js**
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
|
||||
# CentOS/RHEL
|
||||
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
|
||||
sudo yum install -y nodejs
|
||||
```
|
||||
|
||||
- **安装Nginx**
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y nginx
|
||||
|
||||
# CentOS/RHEL
|
||||
sudo yum install -y nginx
|
||||
```
|
||||
|
||||
- **安装PM2(可选,用于管理Node.js应用)**
|
||||
```bash
|
||||
npm install -g pm2
|
||||
```
|
||||
|
||||
### 2. 部署静态文件
|
||||
|
||||
1. **复制构建文件到服务器**
|
||||
```bash
|
||||
# 使用scp命令
|
||||
scp -r dist/* user@server_ip:/var/www/chengzhangxingqiu
|
||||
```
|
||||
|
||||
2. **配置Nginx**
|
||||
|
||||
创建Nginx配置文件:
|
||||
```bash
|
||||
sudo nano /etc/nginx/sites-available/chengzhangxingqiu
|
||||
```
|
||||
|
||||
配置内容:
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name your-domain.com;
|
||||
|
||||
root /var/www/chengzhangxingqiu;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# 静态文件缓存
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, max-age=2592000";
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. **启用站点**
|
||||
```bash
|
||||
sudo ln -s /etc/nginx/sites-available/chengzhangxingqiu /etc/nginx/sites-enabled/
|
||||
sudo nginx -t
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
### 3. HTTPS配置(可选)
|
||||
|
||||
使用Let's Encrypt获取免费SSL证书:
|
||||
|
||||
```bash
|
||||
# 安装certbot
|
||||
sudo apt-get install certbot python3-certbot-nginx
|
||||
|
||||
# 获取证书
|
||||
sudo certbot --nginx -d your-domain.com
|
||||
|
||||
# 自动更新证书
|
||||
sudo systemctl enable certbot.timer
|
||||
```
|
||||
|
||||
## 部署后检查
|
||||
|
||||
1. **访问应用**
|
||||
打开浏览器访问 `http://your-domain.com` 或 `https://your-domain.com`
|
||||
|
||||
2. **功能测试**
|
||||
- 测试用户登录功能
|
||||
- 测试各个模块的功能
|
||||
- 测试图片加载是否正常
|
||||
- 测试英语发音功能
|
||||
|
||||
3. **性能监控**
|
||||
- 监控服务器资源使用情况
|
||||
- 检查页面加载速度
|
||||
- 测试响应时间
|
||||
|
||||
## 维护与更新
|
||||
|
||||
### 1. 代码更新
|
||||
|
||||
```bash
|
||||
# 拉取最新代码
|
||||
git pull
|
||||
|
||||
# 安装新依赖
|
||||
npm install
|
||||
|
||||
# 重新构建
|
||||
npm run build
|
||||
|
||||
# 复制新文件到服务器
|
||||
scp -r dist/* user@server_ip:/var/www/chengzhangxingqiu
|
||||
|
||||
# 重启Nginx(如果需要)
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
### 2. 日志查看
|
||||
|
||||
```bash
|
||||
# Nginx访问日志
|
||||
sudo tail -f /var/log/nginx/access.log
|
||||
|
||||
# Nginx错误日志
|
||||
sudo tail -f /var/log/nginx/error.log
|
||||
```
|
||||
|
||||
### 3. 常见问题排查
|
||||
|
||||
- **页面空白**:检查Nginx配置和文件路径
|
||||
- **图片不显示**:检查图片路径和文件权限
|
||||
- **功能异常**:检查浏览器控制台错误信息
|
||||
- **服务器错误**:检查Nginx错误日志
|
||||
|
||||
## 安全建议
|
||||
|
||||
1. **定期更新依赖**
|
||||
```bash
|
||||
npm update
|
||||
```
|
||||
|
||||
2. **设置文件权限**
|
||||
```bash
|
||||
sudo chown -R www-data:www-data /var/www/chengzhangxingqiu
|
||||
sudo chmod -R 755 /var/www/chengzhangxingqiu
|
||||
```
|
||||
|
||||
3. **启用防火墙**
|
||||
```bash
|
||||
sudo ufw enable
|
||||
sudo ufw allow 80/tcp
|
||||
sudo ufw allow 443/tcp
|
||||
```
|
||||
|
||||
4. **定期备份**
|
||||
```bash
|
||||
# 备份静态文件
|
||||
tar -czf chengzhangxingqiu-backup-$(date +%Y%m%d).tar.gz /var/www/chengzhangxingqiu
|
||||
```
|
||||
|
||||
## 部署流程图
|
||||
|
||||
```
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ 本地开发环境 │────>│ 构建生产版本 │────>│ 部署到服务器 │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
│ │
|
||||
▼ ▼
|
||||
┌─────────────────┐ ┌─────────────────┐
|
||||
│ 静态文件生成 │────>│ Nginx配置 │
|
||||
└─────────────────┘ └─────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ HTTPS配置 │
|
||||
└─────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ 功能测试 │
|
||||
└─────────────────┘
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 确保服务器有足够的磁盘空间和内存
|
||||
2. 定期更新服务器系统和软件包
|
||||
3. 监控服务器状态,及时处理异常
|
||||
4. 备份重要数据,防止数据丢失
|
||||
5. 遵循安全最佳实践,保护用户数据
|
||||
|
||||
---
|
||||
|
||||
**部署完成后,您的成长星球应用将可以在互联网上访问,为孩子们提供一个有趣、安全的学习环境。**
|
||||
Reference in New Issue
Block a user