喧喧聊天的协同开源办公工具环境搭建

喧喧官网 : https://xuan.im/index.html

架构

喧喧即时通信解决方案包含三个部分:

  • 客户端(xxc):提供最终用户使用的交互界面;
  • 后端服务器(xxb):提供聊天数据存储以及供客户端使用的接口,以及喧喧服务器管理界面。
  • XXD 服务器(xxd):作为中间守护服务器,提供文件上传下载管理、协调客户端与后端服务器通信。

客户端通过 Socket 连接到 XXD 服务器;XXD 服务器负责管理所有已连接的客户端,并且随时将客户端相关信息通过 HTTP 协议汇报给后端服务器;客户端并不直接与后端服务器通信,而且将消息发送给 XXD 服务器,XXD 服务器接收到客户端消息后立即将消息发送给后端服务器;后端服务器如果有消息要推送给客户端需要先发送给 XXD 服务器,然后 XXD 服务器将后端服务器的消息再推送给客户端。在以上三方直接存在 2 中通信协议:
Socket:客户端与 XXD 服务器直接使用 Socket 协议连接(文件上传下载除外),可以实现实时通信,将用户聊天过程中的延迟降至最低;
HTTP:XXD 服务器与后端服务器通过 HTTP 协议通信,HTTP 协议具有广泛的支持,并且使用简单,这样用户更容易将喧喧集成到自己的系统中。
通常情况下客户端、后端服务器和 XXD 服务器的关系如下:

在这里插入图片描述

在这里插入图片描述

技术实现

后端服务器实现

后端服务器采用 php + mysql 开发,使用 ZentaoPHP 作为开发框架,非常方便的进行二次开发。
XXD 服务器实现

XXD 服务器端采用 Go 语言实现。Go 语言具备高性能、支持高并发、易于学习使用,非常适合来开发中间守护服务器。
XXD 服务器使用到了 go-sqlite3 来实现服务器缓存功能。
客户端实现

客户端推荐采用 HTML/CSS/JS 实现,目前官方桌面客户端基于 Electron 开发。

环境安装

从https://xuan.im/page/download.html 分别下载xxd代理服务器安装包 和后端业务服务器服务器安装包 xxb.2.5.6.zbox_64.tar.gz(当前最新)附图:

在这里插入图片描述

上传到liunx服务器上

在这里插入图片描述

解压

  • 解压后端业务服务器服务器安装包

tar zxvf xxb.2.5.6.zbox_64.tar.gz -C /opt 注意一定是/opt目录

解压代理服务器安装包到当前目录,留后面用

tar zxvf  xxb.2.5.6.liunx.x64.tar.gz

修改配置文件

修改配置文件 /opt/zbox/run/xxd/config/xxd.conf

[root@iZwz9938t1plpjxsy3riqdZ ~]# cat  /opt/zbox/run/xxd/config/xxd.conf 
[server]
ip=0.0.0.0            # 监听的IP地址,不要使用127.0.0.1。
commonPort=11443      # 登录和附件上传接口(http),确保防火墙开放此端口。
chatPort=11444        # 聊天消息通讯端口(websocket),确保防火墙开放此端口。
https=off              # 是否启用Https(on|off)。使用Https可以保证消息全程加密。
uploadPath=files/     # 附件保存的目录。默认存放在xxd/files/。
uploadFileSize=32M    # 上传文件的大小,以M为单位。
maxOnlineUser=0       # 在线用户上限,0为无限制。
logPath=log/          # 程序运行日志的保存路径。
certPath=cert/        # 证书的保存路径。
debug=0               # Debug级别,可设置0|1|2

[backend]
#
# xxd可以对接多个后台程序。每一个后台程序由入口文件 + 私钥组成。
# 客户端登录时如果没有指定后台程序,会默认登录到第一个后台程序。
#

#backend1=http://127.0.0.1/x.php,88888888888888888888888888888888
#backend2=http://192.168.1.3/xxb/x.php,88888888888888888888888888888888
backend2=http://120.78.166.56:8080/xxb/x.php,e42faa01a0a867a5ed3d2ad3e4cbd3b0 注意本机用backend1 外网用backend2,8080为启动端口

启动服务

Apache和Mysql常用命令
执行/opt/zbox/zbox start 命令开启Apache和Mysql。
执行/opt/zbox/zbox stop 命令停止Apache和Mysql。
执行/opt/zbox/zbox restart 命令重启Apache和Mysql。
可以使用/opt/zbox/zbox -h命令来获取关于zbox命令的帮助
其中 -ap参数 可以修改Apache的端口,-mp参数 可以修改Mysql的端口(比如:/opt/zbox/zbox -ap 8080)

访问

访问和登录喧喧
启动Apache和Mysql服务后,
浏览器直接访问 http://xxb服务器ip:apache端口 即可访问和登录。

访问http://120.78.166.56:8080/ 如图:
在这里插入图片描述

客户端登录

客户端下载地址:https://xuan.im/page/download.html
在这里插入图片描述

使用xuanxuan-browser 静态页面登录:附图
注:服务器为ip,不加端口
在这里插入图片描述

2桌面程序登录
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值