#### 一、前言
**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][2] 是一种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的四种网络连接方式详解][3](看错了,理论上无错)

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开发板性能简述][21]
- [[Intel Edison开发板] 02、Edison开发板入门][22]
- [[Intel Edison开发板] 03、Edison开发IDE入门及跑官方提供的DEMO][23]


@beautifulzzzz
智能硬件、物联网,热爱技术,关注产品
博客:http://blog.beautifulzzzz.com
sina:http://weibo.com/beautifulzzzz?is_all=1

[Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建的更多相关文章

  1. 真正的RISC-V开发板——VEGA织女星开发板开箱评测

    前言 由于最近ARM公司要求员工"停止所有与华为及其子公司正在生效的合约.支持及未决约定",即暂停与华为的相关合作,大家纷纷把注意力投向了另一个的处理器架构RISC-V,它是基于精 ...

  2. iTOP-4418开发板和6818开发板-第五路串口介绍

    iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法. 4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet.   6818 的开发板最多支持 ...

  3. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  4. 基于SSL加密的vsftpd 服务器搭建和配置

    基于SSL加密的VSFTPD 服务器搭建和配置 1.安装 ubuntu系统:apt-get install vsftp lftp centos系统:yum install -y vsftpd ftp ...

  5. 基于讯为4412开发板的Android开发流程

    讯为4412开发板  使用三星2410芯片,基于arm9架构,由于自己电脑硬件的局限,只能跑Android4.0.3系统. 1.Uboot这个直接使用官方镜像烧写就可以了,一般情况不用去重复烧写. 略 ...

  6. 漫谈LiteOS之开发板-LiteOS移植(基于GD32450i-EVAL)

    1 为什么移植? 嵌入式设备的芯片型号和外设的差异较大,资源有限.而RTOS无法适配集成所有的驱动,因此会先适配部分开发板,然后通过移植使得适配更多的开发板. 可移植性是嵌入式操作系统与普通操作系统的 ...

  7. #2020征文-开发板# 用鸿蒙开发AI应用(三)软件篇

    目录: 前言 HarmonyOS 简介 DevEco Device Tool(windows下) 获取源码(切换到ubuntu) 烧录程序(切换回windows) 前言上一篇,我们在 Win10 上用 ...

  8. 嵌入式开发板iTOP4412学习开发板

    网站:http://www.topeetboard.com 淘宝:https://item.taobao.com/item.htm?_u=okcahs0f42a&id=38712193806 ...

  9. 迅为I.MX6开发板工业级嵌入式开发平台

    迅为-i.MX6开发板是是基于ARM Cortex™-A9架构的高扩展性多核系列应用处理器, i.MX6系列芯片而且根据应用场合的不同,提供了可供选择的单核.双核和四核产品供客户选择.i.MX6系列的 ...

随机推荐

  1. 关于 Chrome 浏览器中 onresize 事件的 Bug

    我在写插件时用到了 onresize 事件,在反复地测试后发现该事件在 Chrome 及 Opera(内核基本与 Chrome 相同,以下统称 Chrome)浏览器打开时就会执行,这种情况也许不能算作 ...

  2. PowerShell实现批量重命名文件

    [string]$FileName="E:\test11" #-------------------------------------- Clear-Host foreach($ ...

  3. OpenCASCADE Shape Location

    OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...

  4. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  5. mysql 7下载安装及问题解决

    mysql 7安装及问题解决 一.mysql下载 下载地址:https://www.mysql.com/downloads/ Community (GPL) Downloads MySQL Commu ...

  6. Android性能优化之巧用软引用与弱引用优化内存使用

    前言: 从事Android开发的同学都知道移动设备的内存使用是非常敏感的话题,今天我们来看下如何使用软引用与弱引用来优化内存使用.下面来理解几个概念. 1.StrongReference(强引用) 强 ...

  7. Android线程管理之ThreadLocal理解及应用场景

    前言: 最近在学习总结Android的动画效果,当学到Android属性动画的时候大致看了下源代码,里面的AnimationHandler存取使用了ThreadLocal,激起了我很大的好奇心以及兴趣 ...

  8. ASP.NET Core应用针对静态文件请求的处理[1]: 以Web的形式发布静态文件

    虽然ASP.NET Core是一款"动态"的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件.CSS样式文件和图片文件 ...

  9. 数据图表插件Echarts(一)

    一.引言 最近做一个智慧城市项目,项目中需要图表和报表进行数据分析,从网上找了很多,最后找到了百度开放的echarts,一个很强大的插件. 二.介绍 ECharts,缩写来自Enterprise Ch ...

  10. ActionContext.getContext().getSession()

    ActionContext.getContext().getSession() 获取的是session,然后用put存入相应的值,只要在session有效状态下,这个值一直可用 ActionConte ...