[Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建
2016-11-13 13:58
337 查看
一、前言
intel-iot-examples-datastore 是Intel提供用于所有Edison开发板联网存储DEMO所需要的服务器工程。该工程是基于nodejs和redis写成的一个简单的工程。针对nodejs和redis会在后面介绍。It is a Node.js* application written using Express* (https://github.com/strongloop/express). It uses a Redis* (http://redis.io) data store.
github上的链接介绍了 intel-iot-examples-datastore 分别搭载在本地、亚马逊等上的方法。但是发现国外的云使用需要用信用卡购买,其在国内的服务又和国外的不一样,尝试许久最终决定研究nodejs和redis在阿里云/本地ubuntu上搭载服务器。
redis 是一种nosql数据库,提供五种数据类型:string,hash,list,set及zset(sorted set)。
expressjs是基于 Node.js 平台,快速、开放、极简的 web 开发框架。http://www.expressjs.com.cn/
二、redis
redis 是一种nosql数据库,提供五种数据类型:string,hash,list,set及zset(sorted set)。 redis的教程在官网介绍的非常清晰,不多提。阿里云上提供了redis数据库,同时也可以利用阿里云的ECS自己搭建服务器。同时,为了方便调试,我首先尝试在本地虚拟机中实现运行环境,然后再移植到阿里云的ECS上。
三、本地虚拟中安装nodejs及expressjs框架
程序是由expressjs+redis构成。其中expressjs是基于 Node.js 平台,快速、开放、极简的 web 开发框架。http://www.expressjs.com.cn/我虚拟中的系统为ubuntu12.04,起初自带的nodejs版本低,不过升级后仍然有问题,最后重装ubuntu为最新版本16.04 STL 并严格按照该连接进行安装 https://www.douban.com/note/360858696/,问题得到解决。
besides,every start express,when close,should close the terminal!!!
四、本地虚拟机中安装Redis
follow the try.redis.io to try the nosql database,and then follow the redis.io/download to download build install run test redis.It's simple
五、同一个局域网下访问virtualBox中的nodejs服务器
前期由于没有看清楚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);即可
系列文章:
[Intel Edison开发板] 01、Edison开发板性能简述[Intel Edison开发板] 02、Edison开发板入门
[Intel Edison开发板] 03、Edison开发IDE入门及跑官方提供的DEMO
@beautifulzzzz 智能硬件、物联网,热爱技术,关注产品 博客:http://blog.beautifulzzzz.com sina:http://weibo.com/beautifulzzzz?is_all=1
相关文章推荐
- [Intel Edison开发板] 05、Edison开发基于MRAA实现IO控制,特别是UART通信
- [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
- 处理器开发平台4412开发板学习-NFS服务器的搭建方法
- 学习手记-基于iTOP4412开发板NFS服务器搭建及测试
- 在Linux下搭建基于Docker的LNMP+Redis的开发环境
- 【S3C6410学习心得之一】ok6410开发板基于Ubuntu9.10开发环境搭建-串口
- 基于Nexue搭建Android开发模块包依赖服务器
- Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【四】【编写基础开发工具】
- Android基于XMPP Smack Openfire开发IM(1)搭建openfire服务器
- Intel edison 智能硬件开发指南 基于YoctoProject
- 基于花生棒在windows下小团队软件开发及web演示服务器的搭建
- Ubuntu下安装Redis数据库,与基于Redis数据库搭建主从服务器
- 详解基于Linux与lpc3250开发板的交叉开发环境搭建
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
- 基于UBUNTU的NODEJS开发环境搭建
- 基于ffmpeg的HLS开源服务器搭建配置及开发详解
- 基于nodejs实现本地网页服务器-实现手机测试电脑开发的移动端网页