喧喧聊天的协同开源办公工具环境搭建
喧喧官网 : 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桌面程序登录
喧喧聊天的协同开源办公工具环境搭建相关推荐
- Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)
Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具) 在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一 ...
- 2.工具环境搭建(电商推荐系统)
文章目录 1.MongoDB(单节点)环境配置 2.Redis(单节点)环境配置 3.Spark(单节点)环境配置 4.Zookeeper(单节点)环境配置 5.Flume-ng(单节点)环境配置 6 ...
- Mit Mini Cheetah开源代码开发环境搭建
MIT Mini Cheetah–开源代码仿真环境搭建 摘要 2019年以来,关于四足机器人的报道越来越多,我比较关注的是MIT mini cheetah.Mini Cheetah的外表是很可爱的,它 ...
- MIT Mini Cheetah–开源代码仿真环境搭建记录(Ubuntu20.04)
MIT Mini Cheetah–开源代码仿真环境搭建记录(Ubuntu20.04) 一.安装依赖包 sudo apt install mesa-common-dev freeglut3-dev co ...
- 海思3556V200 PQTools 工具环境搭建
海思3556V200 PQTools 工具环境搭建 1.电脑先安装MCR(Matlab Compiler Runtime)2012a(7.17)的32 位版本.下载地址:http://cn.mathw ...
- 2、Cubemx_canfestival对象字典生成工具环境搭建
百度云盘链接: 链接:canfestival安装包 提取码:z5i4 1.canfestival对象字典生成工具环境搭建 软件是用python写的,由于版本较老,建议在虚拟机上安装python2.7 ...
- FaceBook ATC 弱网测试工具环境搭建
原址 工具简介 ATC是FaceBook开源的移动网络测试工具Augmented Traffic Control(ATC),能够方便的让我们模拟各种网络环境进行测试. ATC有两个最吸引人的特点: 在 ...
- O2OA开源办公平台:搭建自定义工程及开发
一.开发环境 JDK1.8 maven V3.5+ 运行环境 o2server V5.0+ 二.搭建工程及配置 工程模板下载:https://git.o2oa.net/o2oa/o2custom-sa ...
- CodeSnippet.info 开源说明 和 环境搭建 (第一版)
Github开源声明 本网站的代码开源,开源的目的如下 技术分享 希望业内同行贡献代码 希望能够让网站更加安全 开源地址: CodeSnippet开源地址 关于代码贡献 任何人都可以贡献代码,一般在 ...
最新文章
- 「翻译」SAP MM 供应商评估流程初阶
- 【R语言学习】时间序列
- JSP+MySQL实例
- SQL表内查重和删重
- IntelliJ IDEA 修改单行注释的格式
- java和php哪个开发网站好,网站开发,Java和php两种开发语言,应该选哪一种,你知道吗?...
- 《统计学习方法》代码全解析——第四部分朴素贝叶斯
- 这文字的起始位置_如何用AE快速制造文字特效视频的效果?3分钟教你学会
- 图解 Python 编程(5) | 运算符(附要点速查表·完结)
- 一天搞懂深度学习(李宏毅)-学习笔记
- 第一个web项目-微信小程序后端开发
- 现代opengl 设计 assimp 3D 模型加载库
- lenovo服务器换系统重装系统_电脑怎么重装系统lenovo
- 学计算机基础的重要性,浅谈学习计算机基础知识的重要性.pdf
- 自然语言处理:CBOW(哈夫曼树)与Skip-Gram模型
- Spring Security简单SSO
- 对计算机进行重镜像错误,Windows 10 使用系统镜像恢复系统出现内部错误?
- CSDN文章被洗稿、抄袭严重!用Python做一个“基于搜索引擎的文章查重工具”,解决!...
- html5如何设置自动对焦,如何HTML5自动对焦添加到轨道的形式?
- 神一样的爱因斯坦,真的和外星人有什么联系?