客服配置-shopro

news/2025/2/19 9:28:48/

客服配置

注意事项

  • shopro客服系统 采用 workerman 的 gateway-worker 作为服务基础,请先安装 gateway-worker 扩展包
  • shopro商城 已不再支持 workerman 在线客服插件

安装部署

安装扩展包

composer require workerman/gateway-worker:~3.0

删除禁用函数(如有未列出的,请帮忙反馈,谢谢( ^∀^))

putenv
shell_exec
proc_open
pcntl_alarm
pcntl_fork
pcntl_wait
pcntl_signal
pcntl_signal_dispatch

linux 服务器

必要扩展

如果是宝塔,默认已经开启了这两个扩展
  • pcntl
  • posix

建议安装扩展(性能提升)

可以不装,如果想提升 workerman 性能的小伙伴,需要自行百度搜索 php 安装 event 扩展
  • event

参数配置

注意事项

  • 建议开启 ssl 连接
  • 如果wss 连接方式选择 证书,ssl 证书要填写证书在服务器的绝对地址
  • 如果一台服务器上同时部署多套商城,则 gateway 端口gateway 内部端口worker 服务端口,都需要变更,gateway 内部端口,和 worker 服务端口,建议在现有端口基础上 + 10,给之后调进程数量留足够的空间,比如 2020 变为 2030

配置

部署 wss

  • 注意反向代理和证书方式只需要配置一个即可

nginx 反向代理(如果nginx 建议使用)

目前只提供 nginx 的配置文档,按照这个配置可以不用放行客服端口[1819]
  • 反向代理配置一定要在伪静态上面
  • 反向代理配置一定要在伪静态上面
  • 反向代理配置一定要在伪静态上面

反向代理配置,注意修改里面的端口为自己后台配置的客服端口

location ^~ /websocket {        proxy_redirect off;proxy_pass http://127.0.0.1:1819;      # 转发proxy_set_header Host $host;proxy_set_header X-Real_IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr:$remote_port;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;   # 升级协议头proxy_set_header Connection upgrade;
}

配置完整示例,注意截图有限,反向代理下面是伪静态和图片跨域,之前配置好了的,都不需要动,只需要在最前面追加反向代理配置

ssl 证书配置方式

  • 证书这里要直接使用 https 域名的证书,wss 证书,和 wss key 输入框这里直接填写证书的绝对地址
  • 如果是宝塔证书地址在这里:宝塔-》网站-》设置-》配置文件 里面可以看到
  • 注意如果是 linux 要确保客服进程启动用户有读取证书的权限,可以改证书和所在目录的权限,或者是将证书复制一份到项目目录,把证书设置成 www 用户所有

证书配置方法(推荐,以宝塔为例)

  • 第一步,配置域名 https 证书,并且找到证书地址

  • 第二步,去刚才的地址复制证书

  • 第三步,将证书放入项目目录,并且给上权限

  • 第四步,将放置的完整证书地址填入客服配置

启动服务

linux 服务器

注意事项

  • linux 下启动客服命令要使用当前 php-fpm 启动用户作为启动用户,如果是宝塔,则是 www 用户

请先在调试模式下启动

调试模式下可以发现绝大部分问题,请一定现在调试模式下调通之后在守护方式启动,调试模式按 ctrl+c 停止,停止时候的报错可以忽略(因为ctrl+c使进程异常终止)
sudo -u www php think shopro:chat start

启动

调试模式启动
sudo -u www php think shopro:chat start正式模式,守护进程方式启动
sudo -u www php think shopro:chat start d

停止

如果调试模式,直接 ctrl + c 即可正式模式
sudo -u www php think shopro:chat stop

查看状态

正式模式
sudo -u www php think shopro:chat status

启动成功是这个样子的

注意 workerman 输出的停止命令是错的,不要使用
Workerman[shopro:chat] start in DAEMON mode
------------------------------------------------- WORKERMAN --------------------------------------------------
Workerman version:4.0.9          PHP version:7.2.31
-------------------------------------------------- WORKERS ---------------------------------------------------
proto   user            worker                      listen                      processes    status
tcp     root       Register                    text://0.0.0.0:2238         1             [OK]
tcp     root       ShoproChatBusinessWorker    none                        4             [OK]
tcp     root       ShoproChatGateway           websocket://0.0.0.0:1818    2             [OK]
--------------------------------------------------------------------------------------------------------------
Input "php shopro:chat stop" to stop. Start success.

windows 服务器

windows 不支持命令模式启动

启动服务请双击启动脚本

会打开一个命令窗口,并且停在那里
/addons/shopro/library/chat/start_for_win/shopro_chat_start_for_win.bat

关闭直接把命令窗口关掉即可


http://www.ppmy.cn/news/103384.html

相关文章

TCP 和 UDP 在哪些场景下会被使用?

传输层是计算机网络体系结构中的关键层次之一,主要负责向两个主机中的进程之间的通信提供服务。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。它在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。传输…

了解JS三种实时通信方式——Eventsource、websocket与socket.io之间的差异和优缺点

Eventsource、websocket与socket.io 三者的差异和优缺点 EventSource EventSource 是一种轻量级的 API,用于获取来自服务器的实时事件。它是 WebSockets 的替代方案,因为它比 WebSockets 更简单,更适合处理服务器向客户端发送数据的情况。使…

探索 PlanetIX:解读区块链游戏运营的奥秘

作者: danielfootprint.network 熊市之中,PlanetIX 成长为最强的 Web3 游戏,在 Polygon 网络上独占鳌头。而其开发团队深度使用了 Footprint Analtics 的零代码数据分析平台和-GameFi 的数据 API 来提升用户的游戏体验。 近日,Footprint 与…

数据结构与算法05:跳表和散列表

目录 【跳表】 跳表的实现原理 如何确定跳表的层高? 【散列表】 散列函数的设计 散列冲突 (1)开放寻址法(Open Addressing) (2)链表法(chaining) 装载因子 如何…

【C++】map和set的使用及其模拟实现

文章目录 一、map和set的使用1. 关联式容器2. 键值对3. 关联式容器的使用3.1 set3.2 multiset3.3 map3.4 multimap 二、map和set的模拟实现1. 红黑树的实现(封装map和set版本)1.1 节点的实现1.2 KeyOfT(仿函数)1.3 红黑树的插入Insert1.4 迭代器iterator 2. set的模拟实现3. ma…

4.文件系统

组成 Linux:一切皆文件 索引节点(I-node) I-node(Index Node):文件系统的内部数据结构,用于管理文件的元数据和数据块。 文件的元数据:包括文件的权限、拥有者、大小、时间戳、索引…

分布式系统中的那些一致性(CAP、BASE、2PC、3PC、Paxos、ZAB、Raft)

本文介绍 CAP、BASE理论的正确理解、Paxos 算法如何保证一致性及死循环问题、ZAB 协议中原子广播及崩溃恢复以及 Raft 算法的动态演示。 下面还有投票,一起参与进来吧👍 文章目录 前言CAP理论理解误导正确的理解CAP理论的应用 BASE理论Paxos算法如何保证…

由于找不到msvcr110.dll 无法继续执行怎么解决(最新解决方法分享)

MSVCR110.dll是Windows操作系统中的一个重要文件,一旦它出现丢失问题,会导致影响计算机整体的问题。这个跟MSVCP110.dll类似的误报,通常是由于安装编程工具或 部分无法正确安装所导致的问题。在这篇文章中,我们将一些解决此问题的…