yun2win即時通信雲服務快速接入方法

簡介

yun2win向開發者提供一站式通信雲服務。開發者經過下載客戶端的SDK和雲端API,沒必要投入開發成本,就能夠簡單快速的將通信能力集成到本身的應用中。javascript

咱們通過深刻的市場研討和體驗反饋發現,信息安全是用戶在選擇接入開放的通信雲服務時,最重要的標準和最大的顧慮。yun2win採用混合雲架構、數據物理隔離方法,數據經由咱們開源的雲後臺,直接傳至您自主部署的存儲位置,徹底不通過yun2win服務器,絕無安全顧慮。html

架構介紹

yun2win架構設計主要特色是:java

  • 數據服務器開源,由開發者部署控制,yun2win不會收到任何消息數據。
  • App業務服務器、數據服務器能夠部署至內網,只要客戶端能夠訪問yun2win服務器,依然能夠即時通信。

 

即時通信雲

由圖可知,yun2win毫不收到或擁有開發者應用的任何消息數據。此特色極其適應對消息數據安全敏感的應用情境,如企業內部交流等。node

獲取AppKey

使用yun2win須要得到一個AppKeyAppSecret,就按如下步驟獲取:mysql

  1. 打開註冊頁面, 輸入郵箱地址註冊
  2. 註冊成功後,打開登陸頁面,進入控制檯
  3. 系統已經爲您創建了一個應用,點擊打開,在AppKey菜單裏便可得到AppKeyAppSecret

 

提醒

請記下AppKeyAppSecret,後面服務器配置須要用到。linux

服務端部署

此部分主要是負責即時通信業務數據的存儲,包括:消息,會話,用戶關係等。此部分有如下特色:android

  • 徹底開源
  • 對外接口是RESTful Api
  • 由開發者自行部署,數據安全放心

 

下載

服務端代碼放在github.com開源,請從如下網址下載:c++

https://github.com/yun2win/yun2win-sdk-servergit

提醒

代碼請下載releases的穩定版本github

 

環境安裝

運行此服務硬件需求(建議):

  • CPU:雙核
  • 內存:8G
  • 存儲:200G
  • 帶寬:5M

 

運行此服務軟件需求:

  • 操做系統:centos 5.8+ (建議)
  • 運行環境:nodejs 0.8+
  • 進程管理:pm2
  • 數據庫:mysql

 

1,安裝nodejs

在命令行執行命令操做,首先安裝依賴庫與工具:

複製
 yum -y install gcc make gcc-c++ openssl-devel wget 

此命令運行須要網絡下載對應的程序包。若是服務器沒法連網請使用docker部署方案

下載nodejs:

複製
 wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz 

將其解壓:

複製
 tar -zvxf node-v0.10.26.tar.gz 

編譯及安裝:

複製
 cd node-v0.10.26 make && make install 

最後驗證是否成功:

複製
 node -v 

若是出現版本信息,則表示已經安裝成功了

2,安裝pm2

nodejs安裝成功後,直接使用:

複製
 npm install pm2 -g 

等待幾秒鐘便可,若是有權限問題請使用:

複製
 sudo npm install pm2 -g 

3,安裝mysql

在命令行輸入如下指令安裝:

複製
 yum install -y mysql-server mysql mysql-devel 

CentOS 7的yum源中貌似沒有正常安裝mysql時的mysql-sever文件,須要去官網上下載

複製
 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum -y install mysql-community-server 

此命令運行須要網絡下載對應的程序包。若是服務器沒法連網請使用docker部署方案

安裝完成後就啓動mysql:

複製
 service mysqld start 

mysql數據庫安裝完之後只會有一個root管理員帳號,可是此時的root帳號還並無爲其設置密碼,執行如下命令設定密碼:

複製
 mysqladmin -u root password '【新密碼】' 

而後新建數據庫yun2win_db,注意注意字符集須要設定爲utf-8。下面先登錄mysql:

複製
 mysql -u root -p 

輸入密碼,而後執行

複製
 CREATE DATABASE yun2win_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

提醒

請記下新密碼數據庫賬號,和數據庫名稱yun2win_db,後面服務器配置須要用到。

部署配置

在運行以前先要配置,打開文件 app/config.js

複製
 module.exports={ //數據庫配置 db:{ host:"localhost", //默認用本地,若是非本地數據請更改 database:"{數據庫名稱}", //如未更改則是yun2win_db username:"sa", //數據庫賬號 password:"{數據庫密碼}", dialect:"mysql" }, //客戶端配置,用於客戶端鏈接本服務器和通知服務器的信息 client:{ appKey:"{appKey}", appSerect:"{appSerect}", tokenPeriod:24*30 //token有限時間,單位小時 }, //會話配置 session:{ userConvrKeepAlive:1 //活躍用戶會話的時間,單位小時 }, //設爲true,則啓動時會運行基本測試用例,若是測試用例經過則表示部署成功了。 testing:false };

注意,安裝好mysql後要新建個數據庫。配置完成後,將全部代碼複製到服務器的/root/yun2win文件夾上。若是你沒權限訪問,則能夠複製到任一文件夾。 而後命令行執行安裝須要的模塊:

複製
 cd /root/yun2win //若是你更改過目錄,這裏也要更改 npm install 

而後便可啓動

複製
 pm2 start server.js 

啓動成功後,能夠使用指令pm2 list查看運行狀況。

爲了讓程序能自啓動,還要執行:

複製
 pm2 save pm2 startup 

到此就部署完成,使用ifconfig查看服務器IP,服務器的網址爲http://{服務器IP}:18080

提醒

請記下服務器網址並提供給客戶端: http://{服務器IP}:18080

若是須要更改服務器服務端口,請打開server.js

複製
 /** * Module dependencies. */ var app = require('./app'); var debug = require('debug')('web:server'); var http = require('http'); /** * Get port from environment and store in Express. */ //在這裏改爲您想要的端口,如80 var port = normalizePort(process.env.PORT || '18080'); app.set('port', port);

如要把端口改爲80:

複製
 /** * Module dependencies. */ var app = require('./app'); var debug = require('debug')('web:server'); var http = require('http'); /** * Get port from environment and store in Express. */ app.set('port', '80');

提醒

若是更改了端口,則提供給客戶端的地址也要更改: http://{服務器IP}:{新端口}

 

Docker部署

Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用和依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。幾乎沒有性能開銷,能夠很容易地在機器和數據中心運行。最重要的是,他們不依賴於任何語言、框架包括系統。

爲了更方便讓開發者部署,咱們也提供了Docker鏡像,能夠很方便地部署到您想要的環境中。

  1. 安裝Docker

    詳細安裝幫助可參考 :http://udn.yyuap.com/doc/chinese_docker/

  2. 下載鏡像文件

    點擊下面網址下載:yun2win_v0.3.tar.gz (223.1 MB)

    下載完成請解壓縮

  3. 導入鏡像

    複製
     $ sudo docker load --input yun2win.v0.3.tar
  4. 新建容器啓動

    複製
     $ sudo docker run -t -i -p 80:80 yun2win/centos:v0.3 /bin/bash 

    此容器啓動時使用了端口映射,若是當前服務器80被佔用,須要更改,如18080,則調整-p 80:80-p 18080:80便可

  5. 此時服務器的地址是:http://{服務器IP}

Web端集成

下載

服務端代碼放在github.com開源,請從如下網址下載:

https://github.com/yun2win/yun2win-sdk-web/

環境安裝

運行此服務硬件需求(建議):

  • CPU:雙核
  • 內存:2G
  • 帶寬:5M

 

運行此服務軟件需求:

  • 操做系統:windows, mac, linux

 

部署配置

在運行以前先要配置,打開文件 js/core/config.js

複製
 config.baseUrl = http://{服務器IP}

iOS端集成

此部分爲即時通信iOS客戶端SDK,包括:MQTT模塊。此部分有如下特色:

  • 框架輕
  • 適合弱網
  • 可對接物聯網

 

下載

服務端代碼放在github.com開源,請從如下網址下載:

https://github.com/yun2win/yun2win-sdk-server

提醒

代碼請下載releases的穩定版本

環境安裝

編譯環境:

  • Xcode-Version 7.2.1 (7C1002)及以上

 

設備環境:

    設備型號
  • iPhone5及以上
    設備系統
  • iOS8.0及以上

 

部署配置

下載解壓後有兩個文件夾,Example(示例代碼)和Y2W_IM_SDK

  1. 請使用Example文件夾內的API.xcworkspace打開項目
  2. 使用/API/Model/Y2WServiceConfig.m文件中+ (NSString *)domain方法進行服務器地址配置,只需更改地址和端口便可切換服務器

                                     + (NSString *)domain { return @"{服務器IP}"; // 例如: @"http://192.169.0.1:8080/" }

Android端集成

下載

客戶端代碼放在github.com開源,請從如下網址下載:

https://github.com/yun2win/yun2win-sdk-android

提醒

代碼請下載releases的穩定版本

 

環境安裝

設備環境:

  • android手機
  • 系統4.2以上

 

編譯環境:

  • 運行環境:android studio

 

下載android studio:

複製
 wget http://www.android-studio.org/ 

部署配置

相關文章
相關標籤/搜索