相对于传统的LAMP(LINUX, APACHE, MYSQL,PHP), Node.js + MongoDB 是一种比较新的后端组合。Google自己的聊天平台Google Messaging Cloud(GMC)就是基于Node.JS+MongoDB实现的。
废话不多说,开始使用吧!
安装服务器端
1.环境配置。 官网 上提供的是Ubuntu14.04版的配置过程。见下图:
由于我用的服务器是Amazon Linux,用yum来安装。
git clone git://github.com/nodejs/node.git
cd node
git checkout v4.4.7
./configure
make
sudo make install
sudo su
vi /etc/sudoers
:/usr/local/bin```
3.安装imagemagick
5.安装Spika
6.安装gulp
sudo npm install gulp -g
7.编写配置文件
把Config.host和port的值设为自己服务器的hostname和port, 把Config.chatDatabaseUrl的值改为mongoDB的路径。最好用1024以上的port。mongoDB如果没有修改安全选项的话,最好用127.0.0.1。
8 . 运行项目
这时候可能会报错
找不到jsdoc。 解决方法:
然后再次运行
开启服务器
node src/server/main.js
这个时候用浏览器登陆
主机号:端口号/spika
就可以开始聊天啦!
除了web版,它还有android和ios版,下次再尝试吧:)
这种即时聊天的需要常连接来实现,比较典型的有php的Workerman和nodejs的socket.io,原理是这样的。以socket.io为例,访客端发送消息给nodejs[room(房间可以是域名加公司编号),uid(访客id可以是浏览器内核或者代理加ip加操作系统生成),workerid(数据库对应客服的id),type(消息类型 可以是sendmsg,getmsg。。。)],监听到事件后在房间内广播进行推送给对应的workerid进行渲染显示在页面。在发送信息的同时写入到数据库。
nodejs就是一个传话的人但是24小时监听的,逻辑基本都在nodejs中处理。