Ai_GirlFriend/启动前检查清单.md
2026-02-28 09:40:18 +08:00

365 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚦 启动前检查清单
在运行项目之前,请按照此清单逐项检查,确保所有环境和配置都已就绪。
---
## ✅ 环境检查
### 1. PHP 环境
```cmd
php -v
```
- [ ] PHP 版本 >= 8.0
- [ ] 显示版本信息PHP 8.0.0
### 2. Python 环境
```cmd
python --version
pip --version
```
- [ ] Python 版本 >= 3.8
- [ ] pip 已安装
### 3. MySQL 数据库
```cmd
mysql --version
```
- [ ] MySQL 已安装
- [ ] MySQL 服务正在运行
- [ ] 可以连接到数据库
### 4. ComposerPHP 包管理器)
```cmd
composer --version
```
- [ ] Composer 已安装
---
## ✅ 项目文件检查
### 1. 目录结构
- [ ] `lover/` 目录存在
- [ ] `xunifriend_RaeeC/` 目录存在
- [ ] `public/` 目录存在
- [ ] `启动项目.bat` 文件存在
### 2. 配置文件
- [ ] `.env` 文件存在(根目录)
- [ ] `lover/.env` 文件存在
- [ ] `xunifriend_RaeeC/.env` 文件存在
### 3. 依赖文件
- [ ] `lover/requirements.txt` 存在
- [ ] `xunifriend_RaeeC/composer.json` 存在
---
## ✅ 依赖安装检查
### 1. PHP 依赖
```cmd
cd xunifriend_RaeeC
composer install
```
- [ ] 依赖安装成功
- [ ] `vendor/` 目录已生成
- [ ] 无错误信息
### 2. Python 依赖
```cmd
pip install -r lover/requirements.txt
```
- [ ] 所有包安装成功
- [ ] 无错误信息
验证关键包:
```cmd
pip show fastapi uvicorn sqlalchemy pymysql
```
- [ ] fastapi 已安装
- [ ] uvicorn 已安装
- [ ] sqlalchemy 已安装
- [ ] pymysql 已安装
---
## ✅ 数据库配置检查
### 1. 数据库连接测试
```cmd
mysql -u fastadmin -p
```
输入密码后:
```sql
SHOW DATABASES;
USE fastadmin;
SHOW TABLES;
```
- [ ] 可以成功连接
- [ ] `fastadmin` 数据库存在
- [ ] 数据表已导入(应该有 30+ 张表)
### 2. 关键数据表检查
```sql
SHOW TABLES LIKE 'nf_%';
```
必需的表:
- [ ] `nf_user` (用户表)
- [ ] `nf_lovers` (恋人表)
- [ ] `nf_chat_message` (消息表)
- [ ] `nf_chat_session` (会话表)
- [ ] `nf_generation_tasks` (任务表)
---
## ✅ 环境变量配置检查
### 1. 根目录 .env
打开 `.env` 文件,检查以下配置:
```env
# 数据库配置(必需)
DATABASE_URL=mysql+pymysql://用户名:密码@主机:端口/数据库名?charset=utf8mb4
```
- [ ] 数据库地址正确
- [ ] 用户名密码正确
- [ ] 数据库名称正确
```env
# PHP 后台地址(必需)
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
```
- [ ] 地址配置正确(本地开发使用 127.0.0.1:30100
```env
# 阿里云 DashScope API必需
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
```
- [ ] 已填写有效的 API Key
- [ ] API Key 有余额(可在阿里云控制台查看)
```env
# OSS 配置(必需)
ALIYUN_OSS_ACCESS_KEY_ID=your_access_key_id
ALIYUN_OSS_ACCESS_KEY_SECRET=your_access_key_secret
ALIYUN_OSS_BUCKET_NAME=your_bucket_name
ALIYUN_OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
```
- [ ] 已填写 OSS 配置
- [ ] Bucket 已创建
- [ ] 权限配置正确(读写权限)
### 2. lover/.env
```env
DATABASE_URL=mysql+pymysql://用户名:密码@主机:端口/数据库名?charset=utf8mb4
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
```
- [ ] 与根目录 .env 保持一致
### 3. xunifriend_RaeeC/.env
```env
[database]
hostname = localhost
database = fastadmin
username = fastadmin
password = your_password
```
- [ ] 数据库配置正确
- [ ] 与 Python 配置一致
---
## ✅ PHP 扩展检查
运行以下命令查看已启用的扩展:
```cmd
php -m
```
必需的扩展:
- [ ] curl
- [ ] fileinfo
- [ ] gd
- [ ] json
- [ ] mbstring
- [ ] mysqli
- [ ] openssl
- [ ] pdo_mysql
- [ ] zip
如果缺少扩展,编辑 `php.ini` 文件,取消注释相应的 `extension=xxx` 行。
---
## ✅ 端口占用检查
### 1. 检查端口 30100PHP
```cmd
netstat -ano | findstr :30100
```
- [ ] 端口未被占用(无输出)
- [ ] 或已知占用进程可以终止
### 2. 检查端口 30101Python
```cmd
netstat -ano | findstr :30101
```
- [ ] 端口未被占用(无输出)
- [ ] 或已知占用进程可以终止
如果端口被占用,终止进程:
```cmd
taskkill /F /PID 进程号
```
---
## ✅ 文件权限检查
确保以下目录可写Windows 通常自动具有权限):
- [ ] `xunifriend_RaeeC/runtime/`
- [ ] `xunifriend_RaeeC/public/uploads/`
- [ ] `public/tts/`
如果目录不存在,手动创建:
```cmd
mkdir xunifriend_RaeeC\runtime
mkdir xunifriend_RaeeC\public\uploads
mkdir public\tts
```
---
## ✅ 启动脚本配置检查
打开 `启动项目.bat`,检查配置:
```batch
set PHP_PATH=D:\2_part\php-8.0.0-Win32-vs16-x64\php.exe
```
- [ ] PHP_PATH 指向正确的 php.exe 路径
- [ ] 文件路径存在
```batch
set PHP_PORT=30100
set PYTHON_PORT=30101
```
- [ ] 端口配置正确
- [ ] 端口未被占用
---
## ✅ 网络连接检查
### 1. 本地回环测试
```cmd
ping 127.0.0.1
```
- [ ] 可以 ping 通
### 2. 外部 API 连接测试(如果使用远程数据库)
```cmd
ping 1.15.149.240
```
- [ ] 可以 ping 通(如果使用远程数据库)
---
## ✅ 阿里云服务检查
### 1. DashScope API
访问控制台https://dashscope.console.aliyun.com/
- [ ] 账号已注册
- [ ] API Key 已创建
- [ ] 账户有余额或在免费额度内
- [ ] 已开通所需模型:
- [ ] qwen-plus (对话)
- [ ] wan2.6-t2i (图像生成)
- [ ] wan2.6-i2v-flash (视频生成)
- [ ] cosyvoice-v2 (语音合成)
- [ ] paraformer-realtime-v2 (语音识别)
### 2. OSS 对象存储
访问控制台https://oss.console.aliyun.com/
- [ ] Bucket 已创建
- [ ] 区域正确华东1-杭州)
- [ ] 读写权限已设置(公共读或私有)
- [ ] AccessKey 已创建且有效
---
## ✅ 最终测试
### 1. 测试 PHP 服务
```cmd
cd xunifriend_RaeeC\public
php -S 127.0.0.1:30100 router.php
```
打开浏览器访问http://127.0.0.1:30100
- [ ] 页面可以访问
- [ ] 无错误信息
`Ctrl+C` 停止服务
### 2. 测试 Python 服务
```cmd
python -m uvicorn lover.main:app --host 127.0.0.1 --port 30101
```
打开浏览器访问http://127.0.0.1:30101/docs
- [ ] API 文档页面可以访问
- [ ] 显示所有 API 接口
`Ctrl+C` 停止服务
### 3. 测试健康检查接口
访问http://127.0.0.1:30101/health
- [ ] 返回 `{"code":1,"msg":"ok","data":{"status":"ok"}}`
---
## 🎉 准备就绪!
如果以上所有项目都已勾选 ✅,恭喜你!现在可以正式启动项目了:
### 启动方式
**方式一:使用启动脚本(推荐)**
```cmd
启动项目.bat
```
**方式二:手动启动**
终端 1 - PHP 服务:
```cmd
cd xunifriend_RaeeC\public
php -S 0.0.0.0:30100 router.php
```
终端 2 - Python 服务:
```cmd
python -m uvicorn lover.main:app --host 0.0.0.0 --port 30101 --reload
```
---
## 🆘 如果遇到问题
1. **重新检查清单**:确保每一项都已完成
2. **查看日志**:检查控制台输出的错误信息
3. **参考文档**:查看 `运行指南.md` 中的常见问题部分
4. **逐步排查**:从环境、配置、依赖、数据库依次检查
---
**检查完成时间**: ___________
**检查人**: ___________
**备注**: ___________