202 lines
3.2 KiB
Markdown
202 lines
3.2 KiB
Markdown
# 短视频解析平台 - 部署指南
|
|
|
|
## 环境要求
|
|
|
|
- Python 3.8+
|
|
- MySQL 5.7+
|
|
- Redis 5.0+
|
|
|
|
## 部署步骤
|
|
|
|
### 1. 安装依赖
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 2. 配置环境变量
|
|
|
|
复制 `.env.example` 为 `.env` 并修改配置:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
编辑 `.env` 文件:
|
|
|
|
```env
|
|
# Flask配置
|
|
SECRET_KEY=your-secret-key-here
|
|
|
|
# 数据库配置
|
|
DB_HOST=localhost
|
|
DB_PORT=3306
|
|
DB_USER=root
|
|
DB_PASSWORD=your-password
|
|
DB_NAME=video_parser
|
|
|
|
# Redis配置
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_DB=0
|
|
REDIS_PASSWORD=
|
|
|
|
# 应用配置
|
|
MAX_CONCURRENT=3
|
|
SESSION_LIFETIME=7200
|
|
```
|
|
|
|
### 3. 创建数据库
|
|
|
|
```bash
|
|
mysql -u root -p
|
|
```
|
|
|
|
```sql
|
|
CREATE DATABASE video_parser CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
```
|
|
|
|
### 4. 导入数据库表结构
|
|
|
|
```bash
|
|
mysql -u root -p video_parser < database/schema.sql
|
|
```
|
|
|
|
### 5. 初始化管理员账号
|
|
|
|
```bash
|
|
python init_admin.py
|
|
```
|
|
|
|
默认管理员账号:
|
|
- 用户名:`shihao`
|
|
- 密码:`80012029Lz`
|
|
|
|
### 6. 初始化解析接口数据
|
|
|
|
```bash
|
|
python init_data.py
|
|
```
|
|
|
|
### 7. 启动应用
|
|
|
|
```bash
|
|
python app.py
|
|
```
|
|
|
|
应用将在 `http://localhost:5000` 启动。
|
|
|
|
### 8. 访问应用
|
|
|
|
- 前台首页:`http://localhost:5000`
|
|
- 管理后台:`http://localhost:5000/admin/login`
|
|
|
|
## 生产环境部署
|
|
|
|
### 使用 Gunicorn
|
|
|
|
```bash
|
|
pip install gunicorn
|
|
gunicorn -w 4 -b 0.0.0.0:5000 app:app
|
|
```
|
|
|
|
### 使用 Nginx 反向代理
|
|
|
|
Nginx 配置示例:
|
|
|
|
```nginx
|
|
server {
|
|
listen 80;
|
|
server_name your-domain.com;
|
|
|
|
location / {
|
|
proxy_pass http://127.0.0.1:5000;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
location /static {
|
|
alias /path/to/JieXi/static;
|
|
}
|
|
}
|
|
```
|
|
|
|
### 使用 Supervisor 管理进程
|
|
|
|
Supervisor 配置示例:
|
|
|
|
```ini
|
|
[program:video_parser]
|
|
command=/path/to/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app
|
|
directory=/path/to/JieXi
|
|
user=www-data
|
|
autostart=true
|
|
autorestart=true
|
|
redirect_stderr=true
|
|
stdout_logfile=/var/log/video_parser.log
|
|
```
|
|
|
|
## 定时任务
|
|
|
|
定时任务会在应用启动时自动启动,用于执行健康检查。
|
|
|
|
如果需要单独运行定时任务:
|
|
|
|
```bash
|
|
python scheduler.py
|
|
```
|
|
|
|
## 常见问题
|
|
|
|
### 1. Redis 连接失败
|
|
|
|
确保 Redis 服务已启动:
|
|
|
|
```bash
|
|
redis-server
|
|
```
|
|
|
|
### 2. 数据库连接失败
|
|
|
|
检查 `.env` 文件中的数据库配置是否正确。
|
|
|
|
### 3. 邮件发送失败
|
|
|
|
检查 SMTP 配置是否正确,可以在管理后台测试 SMTP 配置。
|
|
|
|
### 4. 解析接口调用失败
|
|
|
|
- 检查网络连接
|
|
- 检查解析接口是否可用
|
|
- 在管理后台查看接口健康状态
|
|
|
|
## 安全建议
|
|
|
|
1. 修改默认管理员密码
|
|
2. 使用强密码策略
|
|
3. 启用管理员 2FA 验证
|
|
4. 定期备份数据库
|
|
5. 使用 HTTPS 加密传输
|
|
6. 限制管理后台访问 IP
|
|
|
|
## 性能优化
|
|
|
|
1. 使用 Redis 缓存
|
|
2. 调整并发数配置
|
|
3. 使用 CDN 加速静态资源
|
|
4. 数据库索引优化
|
|
5. 定期清理过期日志
|
|
|
|
## 监控与维护
|
|
|
|
1. 定期查看健康检查日志
|
|
2. 监控解析成功率
|
|
3. 关注邮件告警
|
|
4. 定期更新解析接口配置
|
|
5. 备份重要数据
|
|
|
|
## 技术支持
|
|
|
|
如有问题,请查看项目文档或提交 Issue。
|