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

凌晨四点的洛杉矶 2017-03-22

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud

目标

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

准备工作

  • ECS

  • MongoDB

  • EMR

  • Alinode

  • 中间件代码

注意事项:ECS,MongoDB 可以选择按量计费的服务。

实例申请

Step1 拿到阿里云账号,登陆

Step2 控制台新建实例

新建实例: https://mongodb.console.aliyun.com/#/buy/mongodb?chargeType=PostPaid

新建实例时,请选择『按量付费』类型,并需要选择合适的CPU 内存规格,磁盘空间、并设置 root 密码(后续连接实例需要用到)。

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

连接实例

实例创建成功后,你可以在控制台查看实例的详细信息,包括复制集节点信息、复制集名称,用于客户端 Driver 连接的 Connection String),根据这些信息就能通过 MongoDB 的客户端 Driver 来访问实例。

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

  • 配置连接数据库, 新增 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=namename替换成副本集的名称。

不使用默认的 admin 库,而是用 admin 鉴权创建 iot库。

生产环境连接 MongoDB 实例时,请确保按复制集的方式正确连接,以保证服务的高可用。

在云服务器ECS上构建项目

1. 申请应用id(appid)和应用token(app secret)

阿里云账号登录 https://alinode.aliyun.com

点击按钮“立即使用”,接受“试用条款”

添加应用,填入应用名称后提交

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

系统自动生成

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

后续从应用主页->设置中查看appid和app secret。

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

2. 登录ECS

3. 一键安装alinode运行时

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

需要输入信息时回车采用默认值,直到填写app id和app secret的时候输入上面步骤生成的app id 和 app secret。

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

4. 运行agentx

nohup agentx /path/to/yourconfig.json &

5. 下载项目到本地

git clone https://code.aliyun.com/alicloud_cto_office/IoT.git

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;

7. 运行项目

ENABLE_NODE_LOG=YES node bin/www

8. 浏览器打开

http://your-ecs-ip:8001

相关推荐