zoukankan      html  css  js  c++  java
  • yun2win即时通讯云服务快速接入方法

    简介

    yun2win向开发者提供一站式通讯云服务。开发者通过下载客户端的SDK和云端API,不必投入开发成本,就可以简单快速的将通讯能力集成到自己的应用中。

    我们经过深入的市场研讨和体验反馈发现,信息安全是用户在选择接入开放的通讯云服务时,最重要的标准和最大的顾虑。yun2win采用混合云架构、数据物理隔离方法,数据经由我们开源的云后台,直接传至您自主部署的存储位置,完全不经过yun2win服务器,绝无安全顾虑。

    架构介绍

    yun2win架构设计主要特点是:

    • 数据服务器开源,由开发者部署控制,yun2win不会收到任何消息数据。
    • App业务服务器、数据服务器可以部署至内网,只要客户端可以访问yun2win服务器,依然可以即时通讯。

    即时通讯云

    由图可知,yun2win绝不收到或拥有开发者应用的任何消息数据。此特点极其适应对消息数据安全敏感的应用情境,如企业内部交流等。

    获取AppKey

    使用yun2win需要获得一个AppKeyAppSecret,就按以下步骤获取:

    1. 打开注册页面, 输入邮箱地址注册
    2. 注册成功后,打开登录页面,进入控制台
    3. 系统已经为您建立了一个应用,点击打开,在AppKey菜单里即可获得AppKeyAppSecret

    提醒

    请记下AppKeyAppSecret,后面服务器配置需要用到。

    服务端部署

    此部分主要是负责即时通讯业务数据的存储,包括:消息,会话,用户关系等。此部分有以下特点:

    • 完全开源
    • 对外接口是RESTful Api
    • 由开发者自行部署,数据安全放心

    下载

    服务端代码放在github.com开源,请从以下网址下载:

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

    提醒

    代码请下载releases的稳定版本

    环境安装

    运行此服务硬件需求(建议):

    • 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/
                            

    部署配置

  • 相关阅读:
    我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比(转载)
    spring boot 使用application.properties 进行外部配置
    Nginx+Springboot+Vue 前后端分离 解决跨域问题
    windows7下RabbitMQ的安装
    七牛云 如何配置域名的 CNAME
    springboot接口 接收参数为实体对象跟MultipartFile对象报错。
    数据库性能优化之SQL语句优化(下)
    数据库性能优化之SQL语句优化(上)
    七个对我最好的职业建议
    程序员最艰巨的十大任务
  • 原文地址:https://www.cnblogs.com/yun2win/p/5781011.html
Copyright © 2011-2022 走看看