2014-05-11_151954

玩 NodeBB

NodeBB 是一个基于 Node.js + WebSocket(推送技术)的论坛。资料库默认使用 Redis,也可以通过配置 MongoDB 或者 LevelDB。可以配置 Nginx、Apache、Varnish 来反代理 Node.js 而得到缓存的效果。

NodeBB 本身有用户聊天功能,也支持安装第三方插件、主题……等等。也有一些限制,例如不可以上传文件、图片,也没有限制用户注册功能(真的问题多多,还在开发中嘛!)

官方主页:https://nodebb.org/
官方社区(英文):https://community.nodebb.org/
官方Github:https://github.com/designcreateplay/NodeBB

论坛可以配置多国语言,虽然还在翻译中。。。

安装

安装 Redis-server 的程序、imagemagick、和 Git

$ apt-get install redis-server imagemagick git

下载,解压。到官方 repo 下载:https://github.com/designcreateplay/NodeBB/releases

# 下载
$ wget https://github.com/designcreateplay/NodeBB/archive/v0.4.2.zip

# 解压 ZIP 文件
$ unzip v0.4.2.zip

# 打开 NodeBB 所在的文件夹
$ cd NodeBB-v0.4.2/

# 安裝
$ npm install

配置

# 进行配置
$ ./nodebb setup

1、问网站 URL 时,输入你的网址:http://bbs.example.com
2、问 Port number of your NodeBB:如果不用 Nginx 反代理就换到 80,如果使用Nginx 来反代理就不要改了(按 Enter 键使用默认配置,默认配置就是括号那个)。
3、也有选项不显示 URL 的 端口,选 N
3、管理员账号也是在第一次 setup 步骤创建的
4、其他配置可以直接按 Enter 键跳过,除非 Redis 服务器有密码

运行

# 打开 NodeBB 所在的文件夹
$ cd NodeBB-v0.4.2/

# 开始论坛
$ ./nodebb start

# 停止
$ ./nodebb stop

# 重启
$ ./nodebb restart

Nginx 反代理配置

* 需要 Nginx 版本 1.3.13+ 才能支持 Socket.IO
* NodeBB 默认跑在 http://127.0.0.1:4567
* 用 Nginx 反代理就可以用 80 端口来访问服务器上的 http://127.0.0.1:4567

server {
    listen 80;

    server_name forum.example.org;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:4567/;
        proxy_redirect off;

        # Socket.IO Support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Published by

Galovia

九十度博客站长。