使用git管理nodejs+socket.io+redis+juicer+waterfall+ubuntu+aws ec2开发网站
服务器:aws ec2 Ubuntu 12.04 (64位)
web服务器:nginx1.3.5
缓存服务器:redis2.4.16
nodeJS: 0.8.8
框架:express 3.0.0
模板渲染:juicer
数据交互:websocket
前端展现:瀑布流
我们使用nodejs来开发一个搜索网站 示例:http://sogego.com 并使用git版本控制工具来管理位于vps上的网站,让我们抛弃ftp工具来上传文件的方式,一键commit到网站目录下。
我们在nodejs服务端render数据到前端,并用juicer来渲染,然后在瀑布流waterfall中使用socket.io来无限制加载数据,用redis做服务器。
一、先讲位于日本东京的服务器aws ec2
使用aws ec2,都说位于美国西海岸的ping值低,事实上比较一下美国西海岸、新加坡、日本到中国的距离就知道了,新加坡网络节点还要绕到意大利再回中国,这个地方的VPS根本没法用,慢的要死,事实上速度最快的要数位于日本东京的ec2机房了,建议大家使用这个,其ping值在上海或是宁波、深圳的地方可以低于80ms,而美国西海岸的ping值都大于250ms,日本东京要快得多。
这和你是不是国人,爱不爱国没有关系,因为在上海到日本有一条海底光缆。
先启动一个Instance,我们使用Ubuntu 12.04
aws ec2默认不让ping。你只需要点左侧Security Groups,再点右侧Inbound的All ICMP 确定就可以ping通了
最后说一下Bitvise SSH ,它比Putty可强大多了,而且还带有sftp功能。你不得不用。
二、VPS Ubuntu 的配置
安装一些常用的比如 g++ make git libssl等
最主要的是在这里配置好git服务器,并同时让git server 自动同步到网站目录下,也就是说,比如我在本地机器win7上 commit了代码到了git server,那么访问http://sogego.com它就是最新修改过的,而且是带有版本号的,这样方便以后出现错误做回滚操作,不使用ftp工具,而是使用aws的 pubkey ,用ssh的方式做commit操作,当然也可以使用sftp。
安装Nginx来做负载均衡,让它指向nodejs的地址 比如:http://localhost:3000
安装redis来做缓存数据库,以后再详细说明在nodejs中使用redis的操作。
三、程序开发
推荐webstorm开发工具,带有git和nodejs的语法支持,如果你非要用Notepad++,我个人只能说你是个二。
我们在nodejs中使用最新的express 3框架,它与express 2有了一些改变
我们不使用jade这个模板,原因是什么,自己去想吧,个人觉得与html相距太大,不习惯,
而是使用juicer,它是一个极限渲染模板,其写法与速度你自己试了就不会再用其它的
我已和juicer的作者沟通多次解决bug和添加功能,目前版本号是0.6.0.使用完全没有问题
我们安装一个npm install jquery来分析抓取到的网页数据
我们还要安装一个npm install iconv-lite它比iconv要快一些,用来解决非utf8编码,大多的国内网站还在使用gb2312的编码。
我们再来安装一个npm install forever来永久启动你的nodejs程序,它的操作基本是forever start 你的nodejs文件名
forever stop 你的nodejs文件名
forever list
为了开方的方便还来一个npm install node-dev,使用方法node-dev 你的nodejs文件名
这样当我们改变了nodejs,就不用手动重启,尤其是配合webstorm一起使用,因为webstorm不需要按crtl+s来保存,而是它自己即时保存,这样你的程序就会时实重启。
我们在后台使用了redis那就再安装一个npm install redis来连接redis数据库
我们还要使用websocket协议,而不是用ajax请求。所以再来一个npm install socket.io
最后注意当我们使用nodejs 的Crypto模块时用到了base64,注意base64的 + 问题转为空格
分享到:
相关推荐
使用Laravel + NodeJS + Socket.io进行实时聊天 要求 : Laravel 5.1 MySQL Redis Node.js Socket.io库 如何安装 步骤1:克隆此仓库: $ git clone 步骤2:安装作曲家软件包 $ cd Chat_server / server $ ...
morphDash是使用NodeJS + Socket.io构建的IOT仪表板。 该dashbaord主要用作csi2项目的显示UI,这是Rasberry Pi Model B +( )的python接口程序/解析器脚本。 运行morphDash 克隆回购: git clone ...
简版聊天室NodeJs + Socket.io + Express + MongoDB + AngularJs + AngularMaterial 构建的简版聊天室** CheckOut and Run:**首先 ,确认你的系统安装了,和 。1,clone codegit clone ...
nodejs + socket.io的多人在线聊天后台系统,前台项目地址: 项目运行: git clone https://github.com/bailicangdu/node-weixin cd node-weixin npm install npm run dev (需先开启mongodb) 访问: ...
Nodejs+socket.io 聊天系统 Nodejs+socket.io 服务器监控 ##Nodejs+express4.x+boostrap web开发 项目地址: 详细参考: ##Nodejs cluster 多核处理模块cluster 项目地址: 详细参考: ##Nodejs+socket.io 聊天系统 ...
这是一个示例协作和交互式实时 node.js 应用程序,带有 Socket.io、Express 和 Jade。 技术与要求 这些将使用 npm 安装,只需执行 npm install 在您的项目目录中。 安装、构建、运行、测试和观察 # Install nodejs...
git下载的最新的socket.io,已通过ant打包成jar,https://github.com/Gottox/socket.io-java-client, 大家也可以通过这个链接自己下载
对于完整的示例,还可以查看 [webserver] ( ) 前端,并使用 NodeJS、Socket.io 和 Google Charts 实时体验。堆Nodejs v0.12 快递 v3.20 Socket.io Axon 库 - 参见云中的 Redis 数据库 - 请参阅和先决条件节点云上的...
使用git clone git://github.com/joe-zim-javascript-blog/Socket.IO-Test.git将这个存储git clone git://github.com/joe-zim-javascript-blog/Socket.IO-Test.git到您的计算机上 导航到该存储库,然后键入npm start...
socket.io-cpp-client-sample Socket.IO C++ 客户端示例。 该程序将本机客户端外壳上的命令结果提供给 Web 浏览器。 这个程序在有解释。 如何使用。 编译本机客户端。 $ git clone ...
使用TypeScript的Socket.io聊天示例 该存储库包含使用TypeScript语言的服务器和客户端代码 博客文章 阅读有关该项目的详细信息的博客文章: 现场演示 尝试现场演示: : 支持这个项目 Star GitHub存储库 :white_...
express-socket.io-run 最简单的设置是pure Express + pure Socket.io。 为什么? 这是供个人使用的简单模板(也许是代码段?),仅用于最常用的模块。 检查package.json。 用法 安装 git clone ...
RGB LED 控制与 Node.JS + socket.io + Johnny-5 + Arduino 在看过 Nodebr São Paulo 的 Meetup,更具体地说是 Paulo Pires 和 Alan 的演讲后,我决定清理我的 Arduino 并测试 Jhonny-Five,并且已经借此机会下载 ...
前言之前使用JS + HTML5 + CSS3 + Node.js + Express.js + Mongodb开发过一个博客网站,也部署了,但当时刚开始搞前端,写的不是很满意。后来就废弃了。 Hexo + GitHub Pages部署了一个博客,但自由度太低。所以最后...
该项目探索如何使用React + Redux结合socket.io客户端上的事件来制作同构服务器端渲染应用程序 要在本地试用该项目: 运行api服务器(需要启动mongodb) $ git clone ...
使用 Express + socket.io + MongoDB 搭建的轻量化聊天室 开始 git clone https://github.com/Eric-Cool/LiteChat.git cd LiteChat npm install 连接MongoDB 运行 node .\bin\www 功能 登录注册 在线聊天 获取...
demo使用SpringBoot+socket.io框架,基于webRTC开发的浏览器web视频与文字聊天 coturn服务搭建地址:https://blog.csdn.net/qq_37231681/article/details/92834298(在main.js中配置coturn地址及账号密码)
!!!!git 2.43 for windows 64 bit+nodejs+vscode 3积分可下啦啦啦啦啦
funsChat Node + Socket.io + Express (欢迎star) $ git clone https://github.com/wclimb/funsChat.git $ cd funsChat $ cnpm i $ node index view
该应用程序是使用Node.js进行的即时聊天,它也受到了socket.io启发。 登录页面 聊天页面 安装 如果您的计算机上未安装凉亭,请按照以下步骤先安装凉亭: npm install -g bower 要安装该应用程序,请下载源代码...