美文网首页全栈工程师修炼node开发者Android开发经验谈
基于Node.JS, MongoDB的开源IM聊天框架Spika

基于Node.JS, MongoDB的开源IM聊天框架Spika

作者: 亲爱的村姑 | 来源:发表于2016-07-30 13:38 被阅读3528次

发现一款强大的开源聊天框架Spika。 它不仅提供iOS,Android,Web端的源码,还有后端的源码,都是开源的。Spika的提供者是来自克罗地亚的一家移动APP公司Clover Studio 感谢他们的团队把这个项目从头到脚都开源了。

Clover Studio家的小狗MAX

相对于传统的LAMP(LINUX, APACHE, MYSQL,PHP), Node.js + MongoDB 是一种比较新的后端组合。Google自己的聊天平台Google Messaging Cloud(GMC)就是基于Node.JS+MongoDB实现的。

废话不多说,开始使用吧!

安装服务器端
1.环境配置。 官网上提供的是Ubuntu14.04版的配置过程。见下图:

Ubuntu版后端

由于我用的服务器是Amazon Linux,用yum来安装。

  1. 安装MongoDB.参考这里
    1.安装git
sudo yum install gcc-c++ make
sudo yum install openssl-devel
sudo yum install git```
2.安装nodejs(会有点慢,可以去喝杯茶)

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

找到下面这一行,
```Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin```
在后面追加

:/usr/local/bin```

3.安装imagemagick

sudo yum install autoconf
git clone http://git.imagemagick.org/repos/ImageMagick.git
cd ImageMagick
./configure
make
sudo make install

5.安装Spika

git clone https://github.com/cloverstudio/Spika.git
cd Spika/web
sudo npm install

6.安装gulp
sudo npm install gulp -g

7.编写配置文件

sudo mv src/server/init.js.sample src/server/init.js
sudo vi src/server/init.js

把Config.host和port的值设为自己服务器的hostname和port, 把Config.chatDatabaseUrl的值改为mongoDB的路径。最好用1024以上的port。mongoDB如果没有修改安全选项的话,最好用127.0.0.1。

8 . 运行项目

sudo gulp build-dist

这时候可能会报错
找不到jsdoc。 解决方法:

sudo npm install jsdoc
cd node_modules/gulp-jsdoc/node_modules/jsdoc
ln -s lib/jsdoc/util util
ln -s lib/jsdoc/doclet.js doclet.js
ln -s lib/jsdoc/name.js name.js
ln -s lib/jsdoc/tag tag
ln -s lib/jsdoc/path.js path.js
ln -s lib/jsdoc/src src
ln -s lib/jsdoc/tag.js tag.js
ln -s lib/jsdoc/template.js template.js
ln -s lib/jsdoc/fs.js fs.js

然后再次运行

sudo gulp build-dist

开启服务器
node src/server/main.js

这个时候用浏览器登陆
主机号:端口号/spika
就可以开始聊天啦!

界面还是不错的

除了web版,它还有android和ios版,下次再尝试吧:)

相关文章

网友评论

  • 7d03cedd79bd:请教一下,数据库怎么设计的,登录时的参数怎么设置的,Name:,ID:,Avatar:,Room name:。
  • 1f99a8ab99c9:学习了
    b58beb7705c7:请教一下,数据库怎么设计的,登录时的参数怎么设置的,Name:,ID:,Avatar:,Room name:。
  • 537637dcf862:请问一下,我在将一切配置结束之后确实反馈了:
    Connecting mongoDB 127.0.0.1:27017
    Server listening on port 6666!
    但是当我在浏览器中输入XXX.XXX.XXX.XXX:6666/spika之后
    会显示:
    网址为 http://45.62.115.133:6666/spika/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。
    请问如何解决
  • d78b32f4ec27:不错!
    b58beb7705c7:请教一下,数据库怎么设计的,登录时的参数怎么设置的,Name:,ID:,Avatar:,Room name:。
  • 17d47e7b3b96:不错
    b58beb7705c7:请教一下,数据库怎么设计的,登录时的参数怎么设置的,Name:,ID:,Avatar:,Room name:。

本文标题:基于Node.JS, MongoDB的开源IM聊天框架Spika

本文链接:https://www.haomeiwen.com/subject/afzzjttx.html