Skip to content

概述

当在一台物理服务器或云主机上部署多套 EBAOZU(承信租)系统(例如同时运行演示站、测试站与正式站,或多个独立客户站点)时,必须针对 Swoole 监听端口、Nginx 反向代理、Redis 缓存与队列、Supervisor 守护进程 进行完全独立的隔离配置,否则会出现端口冲突、数据串号、登录互踢或服务崩溃。


核心隔离配置矩阵

假设在同一台服务器上部署两套系统(Site A 与 Site B):

配置项站点 A (Site A)站点 B (Site B)对应配置文件
Swoole 端口2069720799config/swoole.php.env (SWOOLE_PORT)
Nginx 反向代理proxy_pass http://127.0.0.1:20697;proxy_pass http://127.0.0.1:20799;站点 Nginx 配置
Redis 数据库号SELECT = 0SELECT = 1.env ([REDIS] SELECT)
Redis 缓存前缀PREFIX = site_a_PREFIX = site_b_.env ([CACHE] PREFIX)
Redis 标签前缀TAG_PREFIX = tag_a_TAG_PREFIX = tag_b_.env ([CACHE] TAG_PREFIX)
Supervisor 守护名称ebaozu_site_aebaozu_site_bSupervisor 管理器
MySQL 数据库ebaozu_db_aebaozu_db_b.env ([DATABASE] DATABASE)

详细部署步骤

配置第二套站点的 Swoole 端口

打开第二套站点的 config/swoole.php,修改端口为独立端口:

php
'server' => [
    'host' => env('SWOOLE_HOST', '127.0.0.1'),
    'port' => env('SWOOLE_PORT', 20799), // 避免与第一套 20697 冲突
],

配置第二套站点的 Nginx 反向代理

在第二套站点的 Nginx 配置文件中,设置反向代理端口为 20799

nginx
location / {
    proxy_pass http://127.0.0.1:20799;
    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Authori-zation $http_authori_zation;
}

配置第二套站点的 .env 环境隔离

ini
[DATABASE]
HOSTNAME = 127.0.0.1
DATABASE = ebaozu_site_b
USERNAME = ebaozu_b_user
PASSWORD = your_b_password
HOSTPORT = 3306

[CACHE]
DRIVER = redis
PREFIX = ebaozu_site_b_
TAG_PREFIX = tag_ebaozu_b_

[REDIS]
REDIS_HOSTNAME = 127.0.0.1
PORT = 6379
REDIS_PASSWORD = your_redis_password
SELECT = 1

为第二套站点创建独立的 Supervisor 守护进程

在 Supervisor 管理器中新增一个守护进程:

  • 名称ebaozu_site_b
  • 运行目录:第二套站点的绝对根目录
  • 启动命令php think swoole
  • 启动用户www

常见多站点冲突与排查

  1. 登录 A 站点导致 B 站点被退出(或验证码失效)
    • 检查两套站点的 CACHE.PREFIXREDIS.SELECT 是否完全隔离。
  2. 第二套站点启动提示 Address already in use
    • 检查 config/swoole.php 中的端口是否未修改,仍然在使用 20697
  3. 访问第二套域名显示的是第一套站点的内容
    • 检查第二套站点的 Nginx 反向代理 proxy_pass 是否错误指向了第一套站点的端口。

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