WebSocket 与实时通知
EspoCRM WebSocket 用于浏览器 实时 Stream 更新、通知、在线状态 等。未配置时系统仍可用,但需手动刷新才能看到新通知。
Docker 部署(Bring 推荐)
本站 docker-compose 生成工具 预置三容器:
| 容器 | 作用 |
|---|---|
| espocrm | Web |
| espocrm-daemon | Cron、邮件拉取等 |
| espocrm-websocket | WebSocket 服务 |
环境变量示例:
ESPOCRM_CONFIG_USE_WEB_SOCKET: "true"
ESPOCRM_CONFIG_WEB_SOCKET_URL: "ws://你的域名或IP:8081"
- 浏览器访问地址必须用 外网可连的 host(不能用容器名)
- 防火墙放行 8081(或自定义映射端口)
管理后台检查
管理 → 设置 中 WebSocket 相关项(或 config.php):
useWebSocket= truewebSocketUrl=ws://host:port
修改后 清除缓存。
非 Docker 安装
- 按 Espo 文档配置
websocket.php/ ZeroMQ - 用 supervisor 或 systemd 保持 websocket 进程运行
- 反向代理(Nginx)需支持 WebSocket Upgrade
故障现象
| 现象 | 可能原因 |
|---|---|
| 通知不实时 | WebSocket 未启或 URL 错 |
| 连接失败 | 8081 未放行;Site URL 与 WS URL 主机不一致 |
| HTTPS 站点 | WS 应升级为 wss://,Nginx 配置 SSL |