init
This commit is contained in:
201
部署指南.md
Normal file
201
部署指南.md
Normal file
@@ -0,0 +1,201 @@
|
||||
# 短视频解析平台 - 部署指南
|
||||
|
||||
## 环境要求
|
||||
|
||||
- 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。
|
||||
Reference in New Issue
Block a user