人人商城V8官方文档
(新版)人人商城私域直播即时通讯服务配置说明

关于新版升级说明

  1. 升级swoole版本到4.5.11,提升websocket性能

  2. 支持websocket服务多节点扩容,实现负载均衡

一、使用前注意事项

  1. 即时通讯采用的技术方案是websocket,需要在php安装Swoole扩展

  2. 需要在服务器中手动启动websocket的服务端,并且设置进程守护

  3. 在nginx中设置服务的反向代理以供客户端连接访问

    下方文档会详细说明配置方法,请仔细按照文档步骤操作

二、给php安装Swoole扩展

a. 确认当前安装状态及版本

 /www/server/php/71/bin/php -r 'echo swoole_version(), PHP_EOL;'

已安装能正常打印版本号

image.png

未安装执行命令报错(找不到函数)

image.png

b. 卸载老版本(2.x),如果上方报错未安装跳过此步骤

  1. 进入宝塔,选择软件商店菜单

  2. 搜索「php7.1」

  3. 选择「已安装」

  4. 找到php7.1,点击右侧的「设置」

image.png
  1. 点击「安装扩展」

  2. 找到「Swoole」点击右侧卸载

image.png

c. 安装新版本

  1. 下载源码包

    wget https://pecl.php.net/get/swoole-4.5.11.tgz

    image.png
  2. 执行安装

    /www/server/php/71/bin/pecl -v install swoole-4.5.11.tgz
    image.png

    上方提示一直回车取默认值即可

    如果遇到下方报错请临时删除禁用函数putenvpopen

    image.png
  3. 安装成功

    image.png
  4. 在php.ini中添加扩展

    extension=swoole.so
    image.png
  5. 重启php服务

    image.png
  6. 验证swoole版本

    /www/server/php/71/bin/php -r 'echo swoole_version(), PHP_EOL;'
    image.png

三、启动websocket服务并设置反向代理

1. 提前准备内容

a. 站点目录,例如:/www/wwwroot/demo.rrsc.cn

b. php运行路径,例如:/www/server/php/71/bin/php

下方操作要替换为自己服务器的路径

1. 测试手动启动

cd /www/wwwroot/demo.rrsc.cn # 进入站点目录(改为自己站点目录)

/www/server/php/71/bin/php console websocket/server # 启动服务(改为自己php运行路径、注意命令中间的空格)

看到下面提示为正常启动,测试成功后Ctrl+C停止掉。

如果未显示启动成功请根据提示进行排查,比如提示:请检查swoole扩展是否安装、请检查是否安装直播插件、请检查PHP版本是否大于7.1、MySQL连接失败、Redis连接失败等情况

image.png

2. 配置systemd使用进程守护启动

a. 使用下方命令创建文件或者直接使用宝塔的文件管理进行操作

vim /etc/systemd/system/renren-websocket.service # 创建配置文件

b. 现将下方内容中自己的站点目录、php运行路径进行替换后复制到刚才新建的文件中


[Unit]
Description=Renrenshop WebSocket Server
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/www/wwwroot/demo.rrsc.cn/ ## 修改为商城站点实际路径
ExecStart=/www/server/php/71/bin/php console websocket/server ## 修改为实际PHP路径
Restart=always
RestartSec=3
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=websocket-server[Install]
WantedBy=multi-user.target


c. 执行systemd的加载与启动

systemctl daemon-reload # 加载配置

systemctl start renren-websocket # 启动服务

image.png

d. 查看启动状态

systemctl status renren-websocket

image.png

e. 设置开启自启动【非常重要】

systemctl enable renren-websocket

四、配置nginx的反向代理

  1. 宝塔中选择站点

  2. 搜索站点

  3. 点击对应站点右侧的「设置」

image.png

1.选择配置文件,空行复制填写红框内容

点击保存

image.png

# WebSocket反代
location /ws {
# 后端服务地址
proxy_pass http://localhost:10623;

# 关键设置 - 启用WebSocket代理
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

# 其他有用设置
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

# 防止WebSocket连接超时
proxy_read_timeout 86400; # 可根据需要调整超时时间
proxy_send_timeout 86400;
}


2. 访问测试

访问 域名/ws 显示下方内容为配置成功

image.png

五、管理端websocket服务检测工具

  • 管理端提供了图形化的检测工具,首次配置时需要登录服务器或宝塔操作,后面查看服务启动状态或者简单操作都可以在此页面进行

  • 此工具可以查看直播插件安装状态、websocket服务启动状态、Swoole安装状态及版本

  • 此工具可以进行服务重载与服务重启,注意:服务重启仅是向服务发送shutdown信号,仍需依赖systemd进行拉起

image.png

重载服务:是指柔性终止/重启的机制,重载时不会断开连接,适用于小版本更新后重启服务生效新功能

重启服务:是指强制杀死服务进程后重新启动,会断开所有连接,适用于大版本更新以及服务状态异常情况使用 (重启仅发送shutdown信号,仍需依赖systemd进行拉起)

注意:如果WebSocket服务器未启动或异常,请手动登录服务器进行启动处理

六、关于系统升级后的websocket重启说明

  • 如果系统升级后需要重启websocket,会在升级日志中标明

  • 小版本更新可以使用管理端的「服务重载」、「服务重启」

  • 大版本更新可以使用管理端的「服务重启」

  • 遇到「服务重载」或「服务重启」仍然不生效的情况,请使用 systemctl restart renren-websocket 进行重启或者使用 systemctl status renren-websocket 查看具体原因

大纲
暂无数据
2026-07-15 10:41:14
316
0