快速开始
本指南帮助您在 5 分钟内 完成后端服务 youlai-think(PHP/ThinkPHP 8)的启动和验证。
前置条件
| 环境 | 版本要求 | 下载地址 |
|---|---|---|
| PHP | 8.0+ | PHP官网 |
| Composer | 2.x | Composer官网 |
| MySQL | 5.7+ / 8.x | 安装教程 |
| Redis | 7.x | 安装教程 |
本地未配置 MySQL、Redis 不影响启动,项目默认连接线上公共环境运行,方便快速体验。
项目结构
text
youlai-think/
├─ app/ # 应用目录
│ ├─ auth/ # 认证模块(登录/登出/刷新Token)
│ │ ├─ controller/ # 认证控制器
│ │ └─ service/ # 认证服务
│ ├─ system/ # 系统模块(用户/角色/菜单/部门/字典/通知/日志)
│ │ ├─ controller/ # 控制器
│ │ ├─ service/ # 业务服务
│ │ ├─ model/ # 数据模型
│ │ ├─ annotation/ # 注解定义
│ │ ├─ enums/ # 枚举定义
│ │ └─ validate/ # 验证器
│ ├─ codegen/ # 代码生成模块
│ ├─ file/ # 文件上传模块
│ ├─ common/ # 公共模块
│ │ ├─ constants/ # 常量定义
│ │ ├─ enums/ # 枚举定义
│ │ ├─ exception/ # 异常类
│ │ ├─ middleware/ # 中间件(Auth/Perm/DataScope/RateLimit/Log)
│ │ ├─ model/ # 基础模型
│ │ ├─ traits/ # Trait 复用
│ │ ├─ util/ # 工具类
│ │ ├─ validate/ # 验证器
│ │ └─ web/ # Web 响应/基类
│ ├─ controller/ # 控制器基类
│ ├─ ExceptionHandle.php # 全局异常处理
│ ├─ middleware.php # 全局中间件
│ └─ provider.php # 服务提供者
├─ extend/ # 扩展类库
│ ├─ jwt/ # JWT Token 管理
│ ├─ sse/ # SSE 实时通信
│ ├─ redis/ # Redis 客户端
│ └─ http/ # HTTP 工具
├─ config/ # 配置文件
├─ public/ # Web 入口
├─ route/ # 路由定义
├─ sql/ # 数据库脚本
│ └─ mysql/
│ └─ youlai_admin.sql # 初始化脚本
├─ bin/ # 脚本工具
├─ .env # 环境变量
└─ composer.json # 依赖管理安装步骤
克隆项目
bash
git clone https://gitee.com/youlaiorg/youlai-think.git
cd youlai-think安装依赖
bash
composer install数据库初始化
使用数据库客户端执行 sql/mysql/youlai_admin.sql 脚本,完成数据库和基础数据初始化。
配置修改
复制 .env.example 为 .env,根据本地环境修改连接信息:
数据库配置:
env
DB_HOST=localhost
DB_PORT=3306
DB_NAME=youlai_admin
DB_USER=root
DB_PASS=your_passwordRedis 配置:
env
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=启动服务
bash
php think run访问 http://localhost:8000,返回 ok 表示启动成功。
快速验证
使用 curl 测试登录接口:
bash
curl -X POST http://localhost:8000/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"123456","captchaId":"test","captchaCode":"1234"}'成功响应:
json
{
"code": "00000",
"msg": "成功",
"data": {
"accessToken": "eyJhbGc...",
"refreshToken": "eyJhbGc...",
"tokenType": "Bearer",
"expiresIn": 7200
}
}前端联调
克隆前端项目
bash
git clone https://gitee.com/youlaiorg/vue3-element-admin.git
cd vue3-element-admin配置后端地址
修改 .env.development:
env
VITE_APP_API_URL=http://localhost:8000启动前端
bash
pnpm install
pnpm run dev访问 http://localhost:3000,使用以下账号登录:
- 用户名:
admin - 密码:
123456
生产部署
Nginx + PHP-FPM
- 站点根目录 指向
public/ - 伪静态/重写 按 ThinkPHP 规则配置,将所有请求转发到
public/index.php
nginx
server {
listen 80;
server_name your-domain.com;
root /path/to/youlai-think/public;
index index.php index.html;
# API 代理
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Docker 部署
bash
# 构建镜像
docker build -t youlai-think:latest .
# 运行容器
docker run -d -p 8000:8000 --name youlai-think youlai-think:latest常见问题
端口冲突:php think run -p 8001 指定其他端口
数据库连接失败:确认 MySQL 已启动、配置正确、数据库 youlai_admin 已创建
Redis 连接失败:redis-cli ping 确认 Redis 已启动
