Skip to content

概述

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, pcntl

NOTE

运行时独立性说明: 系统业务调用栈自 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.log

Nginx 反向代理配置

生产环境使用 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 语法检查

承信租多门店租赁商城系统官方文档