gdrocket 发表于 2017-12-16 12:55:41

朴灵:基于MongoDB与NodeJS构建物联网系统

目标
  基于阿里云服务快速构建物联网系统

准备工作


[*]ECS
[*]MongoDB
[*]EMR
[*]Alinode
[*]中间件代码
  注意事项:ECS,MongoDB 可以选择按量计费的服务。

实例申请

Step1 拿到阿里云账号,登陆

Step2 控制台新建实例
  新建实例: https://mongodb.console.aliyun.com/#/buy/mongodb?chargeType=PostPaid
  新建实例时,请选择『按量付费』类型,并需要选择合适的CPU 内存规格,磁盘空间、并设置 root 密码(后续连接实例需要用到)。
https://cloud.githubusercontent.com/assets/3832082/24092798/89a847f0-0d8b-11e7-9db4-d5c979ad3154.png

连接实例
  实例创建成功后,你可以在控制台查看实例的详细信息,包括复制集节点信息、复制集名称,用于客户端 Driver 连接的 Connection String),根据这些信息就能通过 MongoDB 的客户端 Driver 来访问实例。
https://cloud.githubusercontent.com/assets/3832082/24092979/9597350c-0d8c-11e7-898f-7dd559b23ba4.png


[*]配置连接数据库, 新增 config/config.js 文件
  

'use strict';  
var config = {
  name: 'production',
  mongodb: 'mongodb://user:pass@host1:port1,host2:port2/iot?replicaSet=name&authSource=admin'
  
};
  
module.exports = config;
  

  

  user:pass填购买时配置的用户名和密码
  host1:port1 填节点1的信息,host2:port2 填节点2的信息。replicaSet=name的name替换成副本集的名称。
  不使用默认的 admin 库,而是用 admin 鉴权创建 iot库。
  生产环境连接 MongoDB 实例时,请确保按复制集的方式正确连接,以保证服务的高可用。

在云服务器ECS上构建项目

1. 申请应用id(appid)和应用token(app secret)
  阿里云账号登录 https://alinode.aliyun.com
  点击按钮“立即使用”,接受“试用条款”
  添加应用,填入应用名称后提交
https://yqfile.alicdn.com/d24ac472223675e3cc32c921fd582d3c5b00a020.jpeg
  系统自动生成
https://yqfile.alicdn.com/e7bf4de886def837a52804722917224d7ec3f5e9.jpeg
  后续从应用主页->设置中查看appid和app secret。
https://yqfile.alicdn.com/6738cd8e73680b012a614a8f467cd87f29b302a5.jpeg

2. 登录ECS

3. 一键安装alinode运行时
  

wget -q https://raw.githubusercontent.com/aliyun-node/alinode-all-in-one/master/alinode_all.sh  
bash -i alinode_all.sh
  

  


  需要输入信息时回车采用默认值,直到填写app>https://yqfile.alicdn.com/d0e8f1ae1f32e09b12e858ecbfad76331ff8be3f.jpeg

4. 运行agentx
  

nohup agentx/path/to/yourconfig.json &  

  

5. 下载项目到本地
  

git clone https://code.aliyun.com/alicloud_cto_office/IoT.git  
cd IoT
  
cnpm install
  

  

  

6. 将申请到的MongoDB配置信息写入文件 config/config.js
  

'use strict';  
var config = {
  name: 'production',
  mongodb: 'mongodb://user:pass@host1:port1,host2:port2/iot?replicaSet=name&authSource=admin'
  
};
  
module.exports = config;
  

  阅读全文:http://click.aliyun.com/m/14595/
页: [1]
查看完整版本: 朴灵:基于MongoDB与NodeJS构建物联网系统