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