快速啟動伺服器 - 時信魔方教程

時信魔方發表於2020-12-25

時信魔方的伺服器由四個主要元件構成:

  1. 閘道器層的分發器/排程機。
  2. 業務功能單元。
  3. 叢集管理器與控制檯。
  4. 媒體資料傳輸與處理單元。

下圖是時信魔方3.0的整體結構圖:

Cube 3 Framework

 

其中,伺服器的主要工程是 cube-servercube-media-unit

  • cube-server 包含了分發器、服務單元和叢集控制器等主要元件。
  • cube-media-unit 包含了 RTC 流伺服器和 Live 流伺服器。

這裡主要講解如何啟動 cube-server 工程裡的分發器和服務單元。有兩種方式來快速啟動伺服器程式,一種是通過獲取 Docker 映象來啟動程式,另一種是通過編譯原始碼來啟動單機版程式。

使用 Docker 映象執行伺服器

首先,在需要執行 Docker 容器的機器上安裝好 Docker 相關服務,這裡略過,你可以到官網檢視安裝文件。

Docker 安裝之後,拉取 cube-server 映象:

docker pull cubestack/cube-server

啟動容器載入映象:

docker run -it -d --restart always --name cube-server -e TZ=Asia/Shanghai -p 7000:7000 -p 7070:7070 -p 7077:7077 -p 7010:7010 -p 7017:7017 cubestack/cube-server

如果需要檢視終端日誌,使用命令:

docker logs -f cube-server

 

編譯原始碼執行伺服器

目前時信魔方伺服器支援的作業系統:UbuntuCentOSDebianFedoraopenSUSE

1. 工具與軟體準備

您需要在您的開發環境中正確安裝以下工具:

  1. 安裝 Java SE 。建議從 Oracle 官網下載安裝包後,按照安裝程式引導進行安裝。Cube Server 需要的最低版本為 Java SE 8 。

  2. 安裝 Apache Ant
    適用 Ubuntu 的安裝命令:sudo apt-get install ant
    適用 CentOS 的安裝命令:yum -y install ant

  3. 安裝 gccmakecmake 等。
    適用 Ubuntu 的安裝命令:sudo apt-get install build-essential
    適用 CentOS 的安裝命令:yum groupinstall "Development Tools" "Development Libraries"

2. 下載工程原始碼和依賴庫

cube-server 獲得 Cube Server 的原始碼。克隆 cube-server 程式碼庫:

git clone https://gitee.com/shixinhulian/cube-server.git

cube-server-dependencies 獲得 Cube Server 需要的依賴庫。克隆 cube-server-dependencies 程式碼庫:

git clone https://gitee.com/shixinhulian/cube-server-dependencies.git

需要注意以下事項:

  • cube-servercube-server-dependencies 目錄同級。
  • 不能修改 cube-server-dependencies 的工程目錄名。

就緒的工程目錄結構如下:

├── cube                            # 您建立的用於放置 Cube Server 的目錄
    ├── cube-server                 # cube-server 程式碼庫目錄
    └── cube-server-dependencies    # cube-server-dependencies 程式碼庫目錄

3. 執行構建命令

從程式碼庫下載程式碼之後,進入 cube-server 專案目錄依次執行以下步驟來進行專案構建。

  1. 構建排程伺服器和服務單元伺服器,執行構建命令: ant build-all 。如果需要構建 Debug 版本,使用命令:ant build-all-debug

執行構建命令之後,會在專案目錄的 build 子目錄下生成各工程的工程輸出檔案。

  1. 執行部署命令:ant deploy ,將編譯成功的工程檔案安裝到部署目錄下。

4. 啟動與停止伺服器

  1. 啟動伺服器。進入 deploy 目錄,執行 start.sh 指令碼。
cd deploy
./start.sh

啟動指令碼將同時啟動分發器和服務單元伺服器。 deploy 目錄下的 logs 目錄是伺服器程式的預設日誌目錄。可使用 tail 命令跟蹤日誌內容。

  1. 停止伺服器。進入 deploy 目錄,執行 stop.sh 指令碼。
cd deploy
./stop.sh

停止指令碼將同時停止分發器和服務單元伺服器。

從原始碼編譯的工程所使用的配置為單機最小依賴配置,可直接執行,不需要安裝資料庫和其他快取服務。

 

您可以通過以上兩種方式來快速啟動時信魔方伺服器程式。分發器對外服務使用的埠:

  • 7000 TCP - SHM 協議埠,移動客戶端和桌面客戶端的預設連線埠。
  • 7070 WS - WebSocket/SHM 協議埠,Web 端的預設連線埠。
  • 7077 WSS - TLS/WebSocket/SHM 協議埠,Web 端使用 HTTPS 協議時使用的埠。
  • 7010 HTTP - HTTP only Partial Content 用於檔案傳輸使用的埠。
  • 7017 HTTPS - TLS/HTTP only Partial Content 用於檔案傳輸使用的埠。

分發器和服務單元的連線埠是 6000 和 6080 埠。

 

作者:徐江威
日期:2020年12月23日
郵箱:xujiangwei@spap.com, hermit86@163.com

 

相關文章