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/ 

部署配置

相关文章
相关标签/搜索