CentOS快速安装部署jsGen


jsGen是什么

jsGen是用纯JavaScript编写的新一代开源社区网站系统,主要用于搭建SNS类型的专业社区,对客户端AngularJS应用稍作修改也可变成多用户博客系统、论坛或者CMS内容管理系统。

jsGen基于NodeJS编写服务器端程序,提供静态文件响应和REST API接口服务;基于AngularJS编写浏览器端应用,构建交互式网页UI视图;基于MongoDB编写数据存储系统。

CentOS快速安装部署jsGen

转载请注明出处:http://www.fed123.com/2014/09/12/2014_angularjs_2/

jsGen

jsGen基本原理:客户端浏览器发起访问请求后,NodeJS服务器先响应由AngularJS编写的Web应用,这个应用是由html模板、js和css静态文件组成。客户端获取到AngularJS应用后,再由AngularJS与后台的NodeJS服务器API接口通信,根据用户请求交换数据,这些数据是纯粹json数据包,AngularJS获取到json数据包后再编译成相关页面展现给用户。因此,用户进入网站时,只需在首次载入视图模板(html、js、css),其后的所有请求都是纯json数据交换,不再包含html代码,大大减少了数据流量。

####特点:

  1. 前沿的WEB技术,前所未有的网站构架形态,前端与后端完全分离,前端由 AngularJS 生成视图,后端由 Node.js 提供REST API数据接口和静态文件服务。只需改动前端AngularJS应用形态,即可变成论坛、多用户博客、内容管理系统等。

  2. 用户数据、文章评论数据、标签数据、分页缓存数据、用户操作间隔限时等都使用 LRU缓存 ,降低数据库IO操作,同时保证同步更新数据。

  3. 前后端利用 json 数据包进行数据通信。文章、评论采用 Markdown 格式编辑、存储,支持GitHub的GFM(GitHub Flavored Markdown),Markdown解析成HTML DOM并进行 XSS攻击 过滤由前端AngularJS应用完成。

  4. 用户帐号系统,关注(follow)用户/粉丝、邮箱验证激活、邮箱重置密码、SHA256加密安全登录、登录失败5次锁定/邮箱解锁、用户标签、用户积分、用户权限等级、用户阅读时间线等功能。用户首页展现用户关注标签、关注作者的相关的文章(即用户感兴趣的文章)。

  5. 文章/评论系统,文章、评论使用统一数据结构,均可被评论、支持、反对、标记(mark,即收藏),当评论达到一定条件(精彩评论)可自动提升为文章(独立出来,类branch功能),同样文章达到一定条件即可自动推荐。自动实时统计文章、评论热度,自动生成最新文章列表、一周内最热文章列表、一周内最热评论列表、最近更新文章列表。强大的文章、评论列表分页导航功能,缓存每个用户的分页导航浏览记录。

  6. 标签系统,文章和用户均可加标签,可设置文章、用户标签数量上限。用户通过标签设置自己关注话题,文章通过标签形成分类。标签在用户编辑个人信息或编辑文章时自动生成,自动管理,也可管理员后台管理。自动展现热门标签。

  7. 文章合集系统,作者、编辑、管理员可将一系列相关文章组成合集,形成有章节大纲目录的电子书形态。教程文档、主题合集甚至小说连载等均可由合集系统形成。(待完成)

  8. 站内短信系统,提供在文章、评论中 @用户的功能,重要短信发送邮件通知功能等。(待完成)

  9. 后台管理系统,网站参数设置、缓存设置、网站运行信息、文章、评论、用户、标签、合集、站内短信等管理。

  10. Robot SEO系统,由于AngularJS网页内容在客户端动态生成,对搜索引擎robot天生免疫。jsGen针对robot访问,在服务器端动态生成robot专属html页面。搜索引擎Robot名称可在管理后台添加。

    安装nodejs

    前面介绍过一次nodejs安装(http://haomou.net/2014/09/25/2014_nodejs_3/ ),这里再介绍一种源码安装方式。
    CentOS的软件源未包含有最新的nodejs, 需要手动编译安装。
    首先安装依赖的库与工具

    1
    yum install libtool automake autoconf gcc-c++ openssl-devel

然后下载nodejs的源码包tar( http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz ), 解压缩后直接三板斧编译安装

1
2
3
./configure --prefix=/usr
make
make install

最后用 node -v和 npm -v 查看安装的版本
到这里其实还没完, 还需要安装 node-gyp 之类的包
npm install -g node-gyp

安装mongodb

同样,这次介绍另外一种安装方法。下载mongodb,并解压

1
2
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.6.1.tgz
tar zxvf mongodb-linux-i686-2.6.1.tgz

将解压的文件夹放到/usr/local/下,并修改别名

1
2
mv mongodb-linux-i686-2.6.1 /usr/local/
mv mongodb-linux-i686-2.6.1 mongodb

新建mongodb数据文件存放目录,新建log文件存放目录

1
2
mkdir -p /data0/mongodn/db
mkdir -p /data0/mongodn/logs

新建配置文件,mongodb支持把参数写进配置文件,然后以配置文件的配置来启动,我们此处也使用此方式。执行:

1
2
cd /usr/local/mongodb/bin
vi mongodb.conf

加入内容如下:

1
2
3
4
5
6
7
8
9
dbpath = /data0/mongodb/db #数据文件存放目录
logpath = /data0/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
nohttpinterface = true

重新绑定mongodb的配置文件地址和访问IP:

1
/usr/local/mongodb/bin/mongod --bind_ip localhost -f /usr/local/mongodb/bin/mongodb.conf

以后启动就执行如下:

1
./mongod --config mongodb.conf

加入开机自动启动mongodb

1
vi /etc/rc.d/rc.local

在文件中加入:

1
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf

安装redis

下载编译安装:

1
2
3
4
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make

在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。
方便期间用cp命令复制到usr目录下运行。

1
2
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/

然后新建目录,存放配置文件

1
2
3
4
5
6
7
8
9
mkdir /etc/redis
mkdir /var/redis
mkdir /var/redis/log
mkdir /var/redis/run
mkdir /var/redis/6379

在redis解压根目录中找到配置文件模板,复制到如下位置。

1
cp redis.conf /etc/redis/6379.conf

通过vim命令修改

1
2
3
4
5
6
7
daemonize yes
pidfile /var/redis/run/redis_6379.pid
logfile /var/redis/log/redis_6379.log
dir /var/redis/6379

最后运行redis:

1
$ redis-server /etc/redis/6379.conf

加入开机自动启动mongodb

1
vi /etc/rc.d/rc.local

在文件中加入:

1
$ redis-server /etc/redis/6379.conf

安装jsGen

系统需要Node.js 0.10.x和mongoDB 2.4.x Windows环境需要Python2.7和VS2012(用于编译node-gyp及其它需要编译的Node.js插件)

Dependencies: Node.js 0.10.x, redis 2.6.12, mongoDB 2.4.x. Windows: Python2.7 and VS2012

config目录下的config.js配置jsGen运行参数,包括监听端口、数据库等,内有说明。

lib目录下的install.js是jsGen运行初始化文件,设置管理员初始密码,邮箱,内有说明

1
2
3
4
5
6
7
8
9
10
git clone git://github.com/zensh/jsgen.git
cd jsgen
npm install node-gyp //windows需要先运行此命令,linux不需要
//此命令依赖python和vs2012,请参考 https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
npm install //npm安装依赖模块,请确保依赖模块全部安装好。In the root of the package, npm install will install both devDependencies and dependencies
//windows下请运行 npm install --msvs_version=2012
node app.js install //启动jsGen之前,初始化MongoDB数据库
node app.js [recache] //正式启动,可选参数 `recache`,启动时重建redis缓存
npm start //正常启动,或 `node app.js`

谢谢!

转载请注明出处:http://www.fed123.com/2014/09/12/2014_angularjs_2/

欢迎关注皓眸学问公众号(扫描左侧二维码),每天好文、新技术!任何学习疑问或者工作问题都可以给我留言、互动。T_T 皓眸大前端开发学习 T_T

未经允许不得转载:皓眸大前端 » CentOS快速安装部署jsGen

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址