centos6.5上nodeclub安装

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错

nodeclub是nodejs开发的一个开源论坛系统。打算搞个技术论坛。随便玩玩。

环境准备

安装nodejs

yum install nodejs

node -v可以看到安装的版本号,我的是v6.7.0

安装mongodb

yum install mongodb mongodb-server

启动service mongod start

mongo启动方式

先弄个配置文件,我的如下

fork = true
bind_ip = 127.0.0.1
port = 27017
dbpath = /data/db/data/
logpath = /data/logs/mongo.log
logappend = true
journal = true    

安装redis

 yum install redis

启动是service redis start 停止是service redis stop
查看版本号稍有不同。通过redis-cli连接上后执行info命令
127.0.0.1:6379> info
如下所示,是我安装的redis的版本号。

# Server
redis_version:2.8.19

源码

https://github.com/IonicChina/nodeclub
可以直接下一份,也可能自己clone下来。
拷贝一份config.default.js,重命名为 config.js,依据注释进行内容修改

安装nodeclub

在程序源码根目录执行

make install

可以测试下

make test

正常安装完后启动。

node app.js,

访问看是否正常 http://ip:3000

最后用systemd 进程守护工具来启动 Nodeclub

附一下我的配置文件

[Unit]
Description=nodeclub

[Service]
WorkingDirectory=/data/www/nodeclub
ExecStart=/usr/bin/node  /data/www/nodeclub/app.js 2>&1 >> /dev/null
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodeclub

遇到的坑

  1. 默认只支持本地的redis,因为没有密码参数。
  2. 一直失败,这个文件有问题node_modules/loader/lib/loader.js
    >实际使用的时候只传了一个参数,但是这个定义里面是有两个参数的。为了简单。我把两个参数改成一个参数不好了。
    修改有两处。
    1是Loader的定义
var Loader = function (file) {
  if (!(this instanceof Loader)) {
    return new Loader(file);
  }
  var target = {};
  target[path.extname(file)] = file;

  this.script = {
    assets: [],
    target: target[".js"]
  };
  this.style = {
    assets: [],
    target: target[".css"]
  };
};

2是遍历的时候他是按原定义的取了两个参数。我去掉了一个

if (find) {
      var arg;
      var target = {};
      while ((arg = argReg.exec(find)) !== null) {
        target[path.extname(arg[1])] = arg[1];
      }

安装完的论坛

未经允许不得转载:演道网 » centos6.5上nodeclub安装

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

评论 0

评论前必须登录!

登陆 注册