• [Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建



    #### 一、前言 **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:UsersAdministrator>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
  • 相关阅读:
    springcloud
    redis实现Session
    深入理解Dip Ioc Di以及Ioc容器
    SQL Server 索引维护 索引碎片 填充因子
    SQL Server 非聚集索引的覆盖,连接交叉和过滤
    SQL Server 索引 聚集索引、非聚集索引、堆
    T-SQL存储过程
    T-SQl 批处理
    T-SQl 游标
    T-SQL 控制流语句
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/6057841.html
Copyright © 2020-2023  润新知