191 lines
3.9 KiB
Markdown
191 lines
3.9 KiB
Markdown
# 梦回高句丽 - 宝塔面板部署指南
|
||
|
||
## 项目概述
|
||
- **项目名称**: 梦回高句丽视频网站
|
||
- **域名**: 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月
|
||
**维护者**: 系统管理员 |