beeshop 内置实时 IM:WebSocket 网关常驻进程,支持在线状态、消息推送与跨端同步。本文讲清网关启动、Nginx 反代与零依赖兜底。
beeshop 的实时 IM 是内置能力,不是外接服务:一个常驻的 WebSocket 网关,支撑商家、骑手与买家之间的在线状态、消息推送与跨端同步。
网关进程
由 public/im/backend/src/ws/run.php 启动,默认 WS 端口 8080、控制端口 8081,默认只绑 127.0.0.1,经 Nginx /ws 反代对外。启动前会调用 AdminController::ensureTables() 自检 IM 业务表。


两种运行模式
- Ratchet 模式:若已
composer install,使用 Ratchet 作为 WS 服务; - NativeServer 兜底:无 composer 时,自动走零依赖的内置 NativeServer,保证「上传即跑」。
用 Supervisor 常驻
command=php /www/wwwroot/beeshop.ademo.cn/public/im/backend/src/ws/run.php 8080 8081建议用 Supervisor 托管,崩溃自动拉起。
排障
curl -i https://域名/ws应返回101 Switching Protocols;- 若 404,检查 Nginx 的
/ws反代是否覆盖默认 location; - 若连接被拒,确认网关进程已启动且绑在 127.0.0.1:8080。
常见问题
没有 composer 也能跑 IM 吗?
能。网关优先用 Ratchet(若已 composer install),否则自动走零依赖 NativeServer 兜底。
网关为什么只绑 127.0.0.1?
出于安全,网关不裸绑公网,经 Nginx 的 /ws 反代对外暴露。



评论 (0)
还没有评论,来抢沙发吧。