PHP在线客服系统源码基于开源的ThinkPHP框架开发,支持多国语言同步翻译,代码无加密,非常易于二次开发。
源码:zxkfym.top
一、源码特征:
●可定制
●强制 SSL/TLS
●流压缩 (zlib)
●用于存储离线消息和用户设置的数据库连接(PostgreSQL 9.5+,BoltDB)
●缓存(Redis 6.2+)
●集群功能(etcd 3.4+)
●公开prometheus指标
●跨平台(OS X、Linux)
二、源码安装:
1、入门:
要开始使用 jackal,请安装 Go 1.18+ 并运行以下命令:
$ git clone git@github.com:ortuman/jackal.git
$ cd jackal
$ make install installctl
这将获取代码并将安装jackal和jackalctl二进制文件放入您的$GOPATH/bin路径。
默认情况下,应用程序将尝试在 中查找服务配置config.yaml,但您也可以通过命令行指定自定义配置路径。
$ jackal --config=/your-custom-path/your-config.yaml
或环境变量:
$ env JACKAL_CONFIG_FILE=/your-custom-path/your-config.yaml jackal
2、构架:
为了便于在 Kubernetes 中通过 Helm 安装 jackal,此存储库中包含了一个图表。
自定义您自己的values.yaml文件后,运行以下命令以安装和配置jackal命名空间下的所有必需组件。
sh ./helm/scripts/install .yaml
反过来,可以通过运行升级脚本来更新活动图表,如下所示:
sh ./helm/scripts/upgrade .yaml
另一方面,您还可以通过运行卸载脚本从 Kubernetes 集群中删除 jackal chart:
sh ./helm/scripts/uninstall
3、PostgreSQL 数据库创建
为该用户创建一个用户和一个数据库:
CREATE ROLE jackal WITH LOGIN PASSWORD \'password\';
CREATE DATABASE jackal;
GRANT ALL PRIVILEGES ON DATABASE jackal TO jackal;
从 jackal Github 存储库下载最新版本的PostgreSQL 模式。
wget https://raw.githubusercontent.com/ortuman/jackal/master/sql/postgres.up.psql
运行 postgres 脚本文件以创建数据库模式:
psql --user jackal --password -f sql/postgres.up.psql
通过编辑配置文件将jackal配置为使用PostgreSQL:
storage:
type: pgsql
pgsql:
host: 127.0.0.1:5432
user: jackal
password: password
database: jackal
而已!
您的数据库现在已准备好与 jackal 连接。
4、创建jackal用户
完成数据库设置并启动jackal服务后,您必须注册一个新用户才能登录。为此,您可以使用 jackal 命令行工具创建一个新的用户证明名称和密码。
make installctl && jackalctl user add :
三、集群:
集群的目的是能够使用多个服务器来实现容错和可扩展性。
由于jackal是分布式系统,它需要像etcd这样的分布式数据存储来在整个集群中共享其状态。
要在集群模式下正确运行,请jackal确保cluster在每个服务节点中添加部分配置。
这是此部分的外观示例:
cluster:
type: kv
kv:
type: etcd
etcd:
endpoints:
- http://:
- http://:
...
port: your-cluster-node-port # default is 14369
请注意,定义的port值将用于执行集群节点通信,因此请确保在您的内部网络中可访问。
四、服务器可扩展性:
可扩展性框架的目的是在 jackal 服务器和第三方外部模块之间提供接口,从而为特定用例提供扩展服务功能的可能性。可扩展性gRPC API 原型文件可以在 jackal原型定义存储库中找到。
五、在 Docker 中运行 jackal
Docker 部署框架支持轻松安装和配置 jackal 服务器。
您需要先在系统上安装 Docker,然后才能使用 jackal Docker 映像。有关说明,请参阅安装 Docker。
使用以下命令从官方 Docker Hub 库下载 jackal Docker 映像:
docker pull ortuman/jackal:latest
使用自定义配置启动一个新的 jackal Docker 容器。
docker run --name=jackal \\
--mount type=bind,src=/path-on-host-machine/my-custom-config.yaml,dst=/jackal/config.yaml \\
-d ortuman/jackal:latest
或者,为了便于安装服务,您可以使用docker-compose以下方法:
docker-compose -f dockerfiles/docker-compose.yml up
此命令将启动jackal服务器及其对 docker 网络的依赖项,并开始侦听 port 上的传入连接5222。
启动并运行后,不要忘记使用.jackalctl
六、支持的协议:
RFC 6120: XMPP CORE
RFC 6121: XMPP IM
XEP-0004: Data Forms 2.9
XEP-0012: Last Activity 2.0
XEP-0030: Service Discovery 2.5rc3
XEP-0049: Private XML Storage 1.2
XEP-0054: vcard-temp 1.2
XEP-0092: Software Version 1.1
XEP-0114: Jabber Component Protocol 1.6
XEP-0115: Entity Capabilities 1.5.2
XEP-0138: Stream Compression 2.0
XEP-0160: Best Practices for Handling Offline Messages 1.0.1
XEP-0190: Best Practice for Closing Idle Streams 1.1
XEP-0191: Blocking Command 1.3
XEP-0198: Stream Management 1.6
XEP-0199: XMPP Ping 2.0
XEP-0202: Entity Time 2.0
XEP-0220: Server Dialback 1.1.1
XEP-0237: Roster Versioning 1.3
XEP-0280: Message Carbons 0.13.3
XEP-0368: SRV records for XMPP over TLS 1.1.0