intel-iot-examples-datastore 是Intel提供用于全部Edison开发板联网存储DEMO所须要的服务器工程。该工程是基于nodejs和redis写成的一个简单的工程。针对nodejs和redis会在后面介绍。html
It is a Node.js* application written using Express* (https://github.com/strongloop/express). It uses a Redis* (http://redis.io) data store.node
github上的连接介绍了 intel-iot-examples-datastore 分别搭载在本地、亚马逊等上的方法。可是发现国外的云使用须要用信用卡购买,其在国内的服务又和国外的不同,尝试许久最终决定研究nodejs和redis在阿里云/本地ubuntu上搭载服务器。git
redis 是一种nosql数据库,提供五种数据类型:string,hash,list,set及zset(sorted set)。 redis的教程在官网介绍的很是清晰,很少提。github
阿里云上提供了redis数据库,同时也能够利用阿里云的ECS本身搭建服务器。同时,为了方便调试,我首先尝试在本地虚拟机中实现运行环境,而后再移植到阿里云的ECS上。web
程序是由expressjs+redis构成。其中expressjs是基于 Node.js 平台,快速、开放、极简的 web 开发框架。http://www.expressjs.com.cn/redis
我虚拟中的系统为ubuntu12.04,起初自带的nodejs版本低,不过升级后仍然有问题,最后重装ubuntu为最新版本16.04 STL 并严格按照该链接进行安装 https://www.douban.com/note/360858696/,问题获得解决。sql
besides,every start express,when close,should close the terminal!!!数据库
follow the try.redis.io to try the nosql database,and then follow the redis.io/download to download build install run test redis.express
It's simpleubuntu
前期因为没有看清楚windows console中ipconfig的内容,误把VirtualBox Host-Only Network IP当成主机IP,而且觉得虚拟机哪里配置错了尝试了不少次虚拟机网络配置,其中典型的是看:VirtualBox的四种网络链接方式详解(看错了,理论上无错)
C:\Users\Administrator>ipconfig Windows IP 配置 无线局域网适配器 无线网络链接 2: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . : 以太网适配器 本地链接: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . : 无线局域网适配器 无线网络链接: 链接特定的 DNS 后缀 . . . . . . . : 本地连接 IPv6 地址. . . . . . . . : fe80::8d17:68fb:b356:da0d%14 IPv4 地址 . . . . . . . . . . . . : 192.168.31.8 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 192.168.31.1 以太网适配器 Bluetooth 网络链接: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VirtualBox Host-Only Network: 链接特定的 DNS 后缀 . . . . . . . : 本地连接 IPv6 地址. . . . . . . . : fe80::4d85:4389:ed42:9710%18 IPv4 地址 . . . . . . . . . . . . : 192.168.56.1 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 隧道适配器 isatap.{87F755D7-825F-48BD-829D-5F62EA5FB919}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . : 隧道适配器 本地链接* 4: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . : 隧道适配器 isatap.{00206601-AE24-4954-88C4-E9546B81CE0E}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . : 隧道适配器 isatap.{912E0BF2-F07B-4BDF-AE76-1A197AB49063}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 链接特定的 DNS 后缀 . . . . . . . :
出现上述歧途的另外一个缘由是虚拟机中用localhost:3000能访问,可是用IP不能访问,因此一直误导我觉得虚拟机网络问题,而真正缘由是nodejs app配置为题!!!
最后在 http://cnodejs.org/topic/50bf7116637ffa4155a2650c 找到了解答:由于绑定的是"127.0.0.1"ip,因此只能127.0.0.1和localhost访问。所以修改nodejs工程里的setting.js文件里的HOST = (process.env.HOST);便可
@beautifulzzzz 智能硬件、物联网,热爱技术,关注产品 博客:http://blog.beautifulzzzz.com sina:http://weibo.com/beautifulzzzz?is_all=1