yun2win向開發者提供一站式通信雲服務。開發者經過下載客戶端的SDK和雲端API,沒必要投入開發成本,就能夠簡單快速的將通信能力集成到本身的應用中。javascript
咱們通過深刻的市場研討和體驗反饋發現,信息安全是用戶在選擇接入開放的通信雲服務時,最重要的標準和最大的顧慮。yun2win採用混合雲架構、數據物理隔離方法,數據經由咱們開源的雲後臺,直接傳至您自主部署的存儲位置,徹底不通過yun2win服務器,絕無安全顧慮。html
yun2win架構設計主要特色是:java
由圖可知,yun2win毫不收到或擁有開發者應用的任何消息數據。此特色極其適應對消息數據安全敏感的應用情境,如企業內部交流等。node
使用yun2win須要得到一個AppKey
和AppSecret
,就按如下步驟獲取:mysql
請記下AppKey
和AppSecret
,後面服務器配置須要用到。linux
此部分主要是負責即時通信業務數據的存儲,包括:消息,會話,用戶關係等。此部分有如下特色:android
服務端代碼放在github.com開源,請從如下網址下載:c++
https://github.com/yun2win/yun2win-sdk-servergit
代碼請下載releases的穩定版本github
運行此服務硬件需求(建議):
運行此服務軟件需求:
在命令行執行命令操做,首先安裝依賴庫與工具:
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
若是出現版本信息,則表示已經安裝成功了
nodejs安裝成功後,直接使用:
npm install pm2 -g
等待幾秒鐘便可,若是有權限問題請使用:
sudo npm install pm2 -g
在命令行輸入如下指令安裝:
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 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用和依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。幾乎沒有性能開銷,能夠很容易地在機器和數據中心運行。最重要的是,他們不依賴於任何語言、框架包括系統。
爲了更方便讓開發者部署,咱們也提供了Docker鏡像,能夠很方便地部署到您想要的環境中。
安裝Docker
詳細安裝幫助可參考 :http://udn.yyuap.com/doc/chinese_docker/
下載鏡像文件
點擊下面網址下載:yun2win_v0.3.tar.gz (223.1 MB)
下載完成請解壓縮
導入鏡像
$ sudo docker load --input yun2win.v0.3.tar
新建容器啓動
$ sudo docker run -t -i -p 80:80 yun2win/centos:v0.3 /bin/bash
此容器啓動時使用了端口映射,若是當前服務器80被佔用,須要更改,如18080,則調整-p 80:80
爲-p 18080:80
便可
此時服務器的地址是:http://{服務器IP}
服務端代碼放在github.com開源,請從如下網址下載:
https://github.com/yun2win/yun2win-sdk-web/
運行此服務硬件需求(建議):
運行此服務軟件需求:
在運行以前先要配置,打開文件 js/core/config.js
config.baseUrl = http://{服務器IP}
此部分爲即時通信iOS客戶端SDK,包括:MQTT模塊。此部分有如下特色:
服務端代碼放在github.com開源,請從如下網址下載:
https://github.com/yun2win/yun2win-sdk-server
代碼請下載releases的穩定版本
編譯環境:
設備環境:
下載解壓後有兩個文件夾,Example(示例代碼)和Y2W_IM_SDK
使用/API/Model/Y2WServiceConfig.m
文件中+ (NSString *)domain
方法進行服務器地址配置,只需更改地址和端口便可切換服務器
+ (NSString *)domain { return @"{服務器IP}"; // 例如: @"http://192.169.0.1:8080/" }
客戶端代碼放在github.com開源,請從如下網址下載:
https://github.com/yun2win/yun2win-sdk-android
代碼請下載releases的穩定版本
設備環境:
編譯環境:
下載android studio:
wget http://www.android-studio.org/