天天看點

喧喧聊天的協同開源辦公工具環境搭建架構環境安裝

喧喧官網 : 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

[[email protected] ~]# 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桌面程式登入

喧喧聊天的協同開源辦公工具環境搭建架構環境安裝