PHP在线客服系统源码基于开源ThinkPHP框架开发,支持多国语言同传,代码无加密,非常便于二次开发。 源码:e.cusscode.top/s 1.源码特点: 可定制 强制SSL/TLS 流压缩(zlib) 用于存储离线消息和用户设置的数据库连接(PostgreSQL9.5+、BoltDB) 缓存(Redis6.2+) 集群功能(etcd3.4+) 公共普罗米修斯指标 跨平台(OSX、Linux) 2.源码安装: 1.入门: 要开始使用jackal,请安装Go1.18+并运行以下命令: $gitclonegit@github.com:ortuman/jackal.git $cdjackal $makeinstallctl 这将获取代码并将jackal和jackalctl二进制文件安装到$GOPATH/bin路径中。 默认情况下,应用程序会尝试在config.yaml中查找服务配置,但您也可以通过命令行指定自定义配置路径。 $jackal--config=/your-custom-path/your-config.yaml 或环境变量: $envJACKAL_CONFIG_FILE=/your-custom-path/your-config.yamljackal 2.架构: 为了方便在Kubernetes中通过Helm安装jackal,在这个仓库中包含了一张图。 定制好自己的values.yaml文件后,运行如下命令在jackal命名空间下安装配置所有需要的组件。 sh./helm/scripts/install.yaml 反过来,可以通过运行升级脚本来更新活动图,如下所示: sh./helm/scripts/upgrade.yaml 另一方面,也可以通过运行卸载脚本将jackalchart从Kubernetes集群中移除: sh./helm/scripts/uninstall 3、PostgreSQL数据库创建 created对于这个用户一个用户和一个数据库: CREATEROLEjackalWITHLOGINPASSWORD'password'; 创建数据库豺狼; 将数据库jackal的所有权限授予jackal; 从jackalGithub仓库PostgreSQL模式下载最新版本。 wgethttps://raw.githubusercontent.com/ortuman/jackal/master/sql/postgres.up.psql 运行postgres脚本文件创建数据库模式: psql--userjackal--password-fsql/postgres.up.psql 通过编辑配置文件配置jackal使用PostgreSQL: storage: type:pgsql pgsql: host:127.0.0.1:5432 用户:jackal 密码:密码 数据库:jackal 就是这样! 您的数据库现在已准备好与豺狼连接。 4。创建jackal用户 完成数据库设置并启动jackal服务后,必须注册一个新用户才能登录,为此可以使用jackal命令行工具创建新的用户凭证名和密码. makeinstallctl&&jackalctluseradd: 3.集群: 集群的目的是为了能够使用多个服务器来实现容错和可扩展性。 由于jackal是一个分布式系统,它需要像etcd这样的分布式数据存储来跨集群共享它的状态。 要在集群模式下正确运行,请确保集群在每个服务节点中添加部分配置。 以下是该部分的示例: 集群: 类型:kv kv: 类型:etcd etcd: 端点: -http://: -http://: ... port:your-cluster-node-port#defaultis14369 请注意,定义的端口值将用于执行集群节点通信,因此请确保它在您的内部网络中是可访问的。 4。服务器可扩展性: 可扩展性框架的目的是提供jackal服务器与第三方外部模块之间的接口,从而为特定用例提供扩展服务功能的可能性。可扩展性gRPCAPI原型文件可以在jackal原型定义存储库中找到。 5.在Docker中运行jackal Docker部署框架支持轻松安装和配置jackal服务器。 您需要先在系统上安装Docker,然后才能使用jackalDocker映像。有关说明,请参阅安装Docker。 使用以下命令从官方DockerHub存储库下载jackalDocker镜像: dockerpullortuman/jackal:latest 使用自定义配置启动一个新的jackalDocker容器。 dockerrun--name=jackal\ --mounttype=bind,src=/path-on-host-machine/my-custom-config.yaml,dst=/jackal/config.yaml\ -dortuman/jackal:latest 或者,为了轻松安装该服务,您可以按如下方式使用docker-compose: docker-compose-fdockerfiles/docker-compose.ymlup 启动jackal服务器及其对docker网络的依赖,并开始监听5222端口的传入连接。 已启动并运行,别忘了使用.jackalctl 六、支持的协议: RFC6120:XMPP核心 RFC6121:XMPPIM XEP-0004:数据表格2.9 XEP-0012:上次活动2.0 XEP-0030:服务发现2.5rc3 XEP-0049:私有XML存储1.2 XEP-0054:vcard-temp1.2 XEP-0092:软件版本1.1 XEP-0114:Jabber组件协议1.6 XEP-0115:实体功能1.5.2 XEP-0138:流压缩2.0 XEP-0160:处理离线消息的最佳实践1.0.1 XEP-0190:关闭空闲流的最佳实践1.1 XEP-0191:阻塞命令1.3 XEP-0198:流管理1.6 XEP-0199:XMPPPing2.0 XEP-0202:实体时间2.0 XEP-0220:服务器回拨1.1.1 XEP-0237:名册版本控制1.3 XEP-0280:消息Carbons0.13.3 XEP-0368:XMPP的SRV记录overTLS1.1.0