生产环境修正
This commit is contained in:
191
BAOTA_DEPLOYMENT.md
Normal file
191
BAOTA_DEPLOYMENT.md
Normal file
@@ -0,0 +1,191 @@
|
||||
# 梦回高句丽 - 宝塔面板部署指南
|
||||
|
||||
## 项目概述
|
||||
- **项目名称**: 梦回高句丽视频网站
|
||||
- **域名**: ggl.xi.plus
|
||||
- **技术栈**: Vue.js + Node.js + Express + SQLite
|
||||
- **部署方式**: 宝塔面板 NODE 项目
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 宝塔面板 NODE 项目配置
|
||||
|
||||
#### 基本设置
|
||||
- **项目名称**: `梦回高句丽`
|
||||
- **项目路径**: `/www/wwwroot/ggl`
|
||||
- **启动文件**: `start-production.cjs`
|
||||
- **运行端口**: `4001` (API) + `4002` (前端)
|
||||
- **Node.js 版本**: `18.x` 或更高
|
||||
|
||||
#### 启动命令配置
|
||||
```bash
|
||||
# 在宝塔面板 NODE 项目中设置
|
||||
启动命令: node start-production.cjs
|
||||
或者使用 npm 脚本: npm run start:bt
|
||||
```
|
||||
|
||||
### 2. 环境准备
|
||||
|
||||
#### 安装依赖
|
||||
```bash
|
||||
cd /www/wwwroot/ggl
|
||||
npm install
|
||||
```
|
||||
|
||||
#### 构建前端项目
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
#### 检查必要文件
|
||||
确保以下文件存在:
|
||||
- `dist/` 目录 (前端构建产物)
|
||||
- `database.db` 或 `database/goguryeo_video.db`
|
||||
- `.env.production` 配置文件
|
||||
- `logs/` 目录 (自动创建)
|
||||
|
||||
### 3. 域名和 SSL 配置
|
||||
|
||||
#### 域名绑定
|
||||
1. 在宝塔面板中添加站点 `ggl.xi.plus`
|
||||
2. 设置网站目录为 `/www/wwwroot/ggl/dist`
|
||||
3. 申请并配置 SSL 证书
|
||||
|
||||
#### Nginx 配置
|
||||
使用提供的 `nginx-ggl-xi-plus.conf` 配置文件:
|
||||
|
||||
```bash
|
||||
# 复制配置到宝塔 Nginx 配置目录
|
||||
cp nginx-ggl-xi-plus.conf /www/server/panel/vhost/nginx/ggl.xi.plus.conf
|
||||
|
||||
# 重载 Nginx 配置
|
||||
nginx -s reload
|
||||
```
|
||||
|
||||
### 4. 启动项目
|
||||
|
||||
#### 方式一:宝塔面板 NODE 项目 (推荐)
|
||||
1. 在宝塔面板 → 软件商店 → Node.js 项目管理
|
||||
2. 添加项目:
|
||||
- 项目名称: `梦回高句丽`
|
||||
- 项目路径: `/www/wwwroot/ggl`
|
||||
- 启动文件: `start-production.cjs`
|
||||
- 端口: `4001`
|
||||
3. 点击启动项目
|
||||
|
||||
#### 方式二:PM2 管理 (备选)
|
||||
```bash
|
||||
# 使用 PM2 启动
|
||||
npm run pm2:start
|
||||
|
||||
# 查看状态
|
||||
pm2 status
|
||||
|
||||
# 查看日志
|
||||
pm2 logs ggl-xi-plus-production
|
||||
```
|
||||
|
||||
### 5. 验证部署
|
||||
|
||||
#### 检查服务状态
|
||||
```bash
|
||||
# 检查端口占用
|
||||
netstat -tlnp | grep :4001
|
||||
netstat -tlnp | grep :4002
|
||||
|
||||
# 检查进程
|
||||
ps aux | grep node
|
||||
```
|
||||
|
||||
#### 访问测试
|
||||
- 前端页面: `https://ggl.xi.plus`
|
||||
- API 接口: `https://ggl.xi.plus/api/health`
|
||||
- 上传文件: `https://ggl.xi.plus/uploads/`
|
||||
|
||||
### 6. 监控和维护
|
||||
|
||||
#### 日志文件位置
|
||||
```
|
||||
logs/
|
||||
├── production.log # 应用日志
|
||||
├── error.log # 错误日志
|
||||
├── pm2-combined.log # PM2 综合日志
|
||||
├── pm2-out.log # PM2 输出日志
|
||||
└── pm2-error.log # PM2 错误日志
|
||||
```
|
||||
|
||||
#### 常用维护命令
|
||||
```bash
|
||||
# 重启服务 (宝塔面板)
|
||||
# 在 NODE 项目管理中点击重启
|
||||
|
||||
# 重启服务 (PM2)
|
||||
npm run pm2:restart
|
||||
|
||||
# 查看实时日志
|
||||
tail -f logs/production.log
|
||||
|
||||
# 清理日志
|
||||
truncate -s 0 logs/*.log
|
||||
```
|
||||
|
||||
### 7. 性能优化配置
|
||||
|
||||
#### 系统配置
|
||||
- **内存限制**: 1GB (可根据实际情况调整)
|
||||
- **文件上传限制**: 100MB
|
||||
- **并发连接**: 根据服务器配置调整
|
||||
- **缓存策略**: 静态资源 1 年,API 响应适当缓存
|
||||
|
||||
#### 安全配置
|
||||
- SSL/TLS 加密传输
|
||||
- CORS 跨域限制
|
||||
- 请求频率限制
|
||||
- 敏感文件访问禁止
|
||||
- 安全响应头设置
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **端口冲突**
|
||||
```bash
|
||||
# 检查端口占用
|
||||
lsof -i :4001
|
||||
lsof -i :4002
|
||||
```
|
||||
|
||||
2. **权限问题**
|
||||
```bash
|
||||
# 设置正确的文件权限
|
||||
chown -R www:www /www/wwwroot/ggl
|
||||
chmod -R 755 /www/wwwroot/ggl
|
||||
```
|
||||
|
||||
3. **数据库连接失败**
|
||||
```bash
|
||||
# 检查数据库文件权限
|
||||
ls -la database/
|
||||
chmod 664 database/*.db
|
||||
```
|
||||
|
||||
4. **前端资源 404**
|
||||
```bash
|
||||
# 重新构建前端
|
||||
npm run build
|
||||
```
|
||||
|
||||
### 联系支持
|
||||
如遇到部署问题,请检查:
|
||||
1. Node.js 版本是否符合要求
|
||||
2. 依赖包是否完整安装
|
||||
3. 端口是否被占用
|
||||
4. 文件权限是否正确
|
||||
5. Nginx 配置是否生效
|
||||
|
||||
---
|
||||
|
||||
**部署完成后,项目将在 https://ggl.xi.plus 上运行**
|
||||
|
||||
**最后更新**: 2024年1月
|
||||
**维护者**: 系统管理员
|
||||
Reference in New Issue
Block a user