365 lines
7.1 KiB
Markdown
365 lines
7.1 KiB
Markdown
# 🚦 启动前检查清单
|
||
|
||
在运行项目之前,请按照此清单逐项检查,确保所有环境和配置都已就绪。
|
||
|
||
---
|
||
|
||
## ✅ 环境检查
|
||
|
||
### 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. Composer(PHP 包管理器)
|
||
```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. 检查端口 30100(PHP)
|
||
```cmd
|
||
netstat -ano | findstr :30100
|
||
```
|
||
- [ ] 端口未被占用(无输出)
|
||
- [ ] 或已知占用进程可以终止
|
||
|
||
### 2. 检查端口 30101(Python)
|
||
```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. **逐步排查**:从环境、配置、依赖、数据库依次检查
|
||
|
||
---
|
||
|
||
**检查完成时间**: ___________
|
||
|
||
**检查人**: ___________
|
||
|
||
**备注**: ___________
|