Appearance
概述
EBAOZU V4 系统基于 ThinkPHP 8.0 + Swoole 4 + PHP 8.0+ 构建,前端采用 Vue 2 + View UI / Uni-app。本文档详细介绍系统的运行环境要求、服务启动、队列配置、Swoole 守护及生产部署指南。
环境要求
服务端运行环境
| 组件 | 版本要求 | 说明 |
|---|---|---|
| PHP | >= 8.0 | 推荐 PHP 8.0,需开启 Swoole 扩展 |
| Swoole | >= 4.0.10 | 驱动 Swoole HTTP/WebSocket 服务 |
| MySQL | >= 8.0 | 存储引擎推荐 InnoDB,字符集 utf8mb4 |
| Redis | >= 6.0 | 必须,用于缓存、令牌桶及 Think-Queue 队列 |
| Nginx | >= 1.18 | 作为反向代理服务器转发至 Swoole 端口 |
PHP 必需扩展清单
pdo_mysql, redis, curl, gd, mbstring, openssl, swoole, fileinfo, bcmath, pcntlNOTE
运行时独立性说明: 系统业务调用栈自 2026-07 起已全面实现明文独立运行,CLI、PHPUnit 测试及业务运行不需要 swoole_loader 解密扩展。
服务端安装与运行
依赖安装与环境配置
bash
cd /www/wwwroot/ebaozu_v4
composer install --no-dev -o
# 复制并配置环境变量
cp .example.env .env
# 编辑 .env 配置数据库、Redis 及端口启动 Swoole 服务
- 开发调试模式:bash
php think swoole - 清除缓存:bash
php think clear:cache
生产环境 Supervisor 守护配置
在生产环境中,推荐使用 Supervisor 守护 Swoole 服务与异步队列进程:
Swoole 服务守护配置示例 (/etc/supervisor/conf.d/ebaozu_swoole.conf):
ini
[program:ebaozu_v4]
command=php /www/wwwroot/ebaozu_v4/think swoole
directory=/www/wwwroot/ebaozu_v4
process_name=%(program_name)s_%(process_num)02d
numprocs=1
autostart=true
autorestart=true
user=www
redirect_stderr=true
stdout_logfile=/www/wwwroot/ebaozu_v4/runtime/swoole_supervisor.log异步队列守护配置示例 (/etc/supervisor/conf.d/ebaozu_queue.conf):
ini
[program:ebaozu_queue]
command=php /www/wwwroot/ebaozu_v4/think queue:listen --queue
directory=/www/wwwroot/ebaozu_v4
process_name=%(program_name)s_%(process_num)02d
numprocs=2
autostart=true
autorestart=true
user=www
redirect_stderr=true
stdout_logfile=/www/wwwroot/ebaozu_v4/runtime/queue_supervisor.logNginx 反向代理配置
生产环境使用 Nginx 监听 80/443 端口,并将请求反向代理到 Swoole 运行端口:
nginx
server {
listen 80;
server_name your-domain.com;
root /www/wwwroot/ebaozu_v4/public;
index index.html index.php;
# 静态文件直接由 Nginx 响应
location ~ ^/(statics|uploads|static_admin|view_admin|view_store)/ {
expires 30d;
try_files $uri =404;
}
# API 及动态请求代理至 Swoole
location / {
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:20698;
}
# WebSocket 代理
location /ws {
proxy_pass http://127.0.0.1:20698;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
}前端构建与运行
总后台前端 (view/admin)
bash
cd view/admin
npm install
npm run serve # 本地开发(访问 http://localhost:8080)
npm run build # 生产打包(产物自动输出至 public/view_admin)门店端前端 (view/store)
bash
cd view/store
npm install
npm run serve # 本地开发
npm run build # 生产打包移动端 (view/uniapp)
- HBuilderX 运行:导入
view/uniapp,点击【运行】->【运行到小程序模拟器/浏览器】; - 命令行构建:bash
cd view/uniapp npm install npm run build:mp-weixin # 构建微信小程序 npm run build:h5 # 构建 H5
常用运维指令
bash
php think swoole # 启动 Swoole 服务
php think clear:cache # 清除系统缓存
php think reset:admin # 重置后台管理员密码
php -l <file> # PHP 语法检查