NodeBB是一款基于Node.js开发的现代化开源论坛系统,以GPLv3协议开源。NodeBB诞生于2013年,以实时交互、现代化界面、出色的性能著称。NodeBB采用WebSocket实现实时通知和即时通讯,支持Redis或MongoDB作为数据库,内置强大的插件系统、主题体系、社交登录、积分体系,适合搭建现代社区论坛、技术社区、产品支持论坛、兴趣社区。
核心优势:基于Node.js高性能架构、WebSocket实时交互、现代化响应式界面、丰富的插件生态、多主题支持、社交登录集成、REST API和WebSocket API、支持Redis/MongoDB、SEO友好、社区活跃。NodeBB是追求现代感和实时交互的论坛用户首选。
环境要求
- 操作系统:Linux(Ubuntu 20.04+/Debian 11+/CentOS 7+)、Windows、macOS
- Node.js版本:Node.js 18.x 或 20.x(NodeBB 3.x推荐Node 18/20 LTS)
- 数据库:MongoDB 4.4+ 或 Redis 6.0+
- 内存:最低512MB,推荐1GB以上(大型论坛建议2GB+)
- 磁盘:至少500MB可用空间
- Web服务器:Nginx(用于反向代理,必需)
- npm:随Node.js安装
- Git:用于克隆源码(推荐)
安装教程
步骤1:安装Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs build-essential
node --version
npm --version
步骤2:安装MongoDB
apt install -y mongodb
systemctl enable mongodb
systemctl start mongodb
mongo --eval "db.runCommand({ping:1})"
或安装Redis:apt install -y redis-server
步骤3:克隆NodeBB源码
cd /var/www
git clone -b v3.x https://github.com/NodeBB/NodeBB.git nodebb
cd nodebb
npm install --production
步骤4:运行安装向导
./nodebb setup
按照提示配置:
- 使用的数据库类型(MongoDB或Redis)
- 数据库主机(默认127.0.0.1)
- 数据库端口(默认27017)
- 数据库用户名/密码(如有)
- 数据库名称(默认nodebb)
- 论坛URL(http://yourdomain.com)
- 管理员用户名、邮箱、密码
步骤5:启动NodeBB
./nodebb start
NodeBB默认运行在4567端口。
步骤6:配置PM2进程管理(推荐)
npm install -g pm2
cd /var/www/nodebb
pm2 start app.js --name nodebb
pm2 save
pm2 startup
步骤7:Nginx反向代理配置
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:4567;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
proxy_pass http://127.0.0.1:4567;
expires 30d;
add_header Cache-Control "public, immutable";
}
}
步骤8:登录后台
访问 http://yourdomain.com,使用安装时设置的管理员账号登录。NodeBB后台地址为 http://yourdomain.com/admin,功能包括:版块管理、用户管理、用户组权限、插件管理、主题管理、内容管理、设置等。
Windows环境安装
- 从Node.js官网(https://nodejs.org)下载LTS版本安装
- 安装MongoDB Community Server(https://www.mongodb.com/try/download/community)
- 安装Git for Windows(https://git-scm.com/download/win)
- 打开命令提示符,执行:
git clone -b v3.x https://github.com/NodeBB/NodeBB.git nodebb - 进入nodebb目录,执行
npm install --production - 执行
nodebb setup按照提示配置 - 执行
nodebb start启动论坛 - 浏览器访问http://localhost:4567
宝塔面板安装(推荐)
- 安装宝塔面板,登录后在软件商店安装”PM2管理器”和”MongoDB”
- 通过PM2管理器安装Node.js 20
- 在终端执行:
cd /www/wwwroot && git clone -b v3.x https://github.com/NodeBB/NodeBB.git yourdomain.com - 进入项目目录,执行
npm install --production - 执行
./nodebb setup按照提示配置数据库和管理员账号 - 在PM2管理器中添加项目,启动文件为app.js
- 在宝塔面板添加站点,配置Nginx反向代理到4567端口(需配置WebSocket升级)
- 配置SSL证书,访问域名登录论坛
服务器配置建议
- 内存:建议1GB以上,NodeBB + MongoDB运行需要约512MB
- Node.js:使用LTS版本(18.x/20.x)
- 数据库:生产环境推荐MongoDB 6,配置WiredTiger缓存
- 使用PM2管理进程,设置内存限制和重启策略
- Nginx:必须配置WebSocket代理升级(proxy_set_header Upgrade/Connection)
- 启用gzip压缩,配置静态资源缓存
- 配置CDN加速静态资源
- 定期备份MongoDB数据库和public/uploads目录
- 关注NodeBB官方更新,通过
git pull && ./nodebb upgrade升级
常见问题
Q:安装时npm install失败?
A:确保已安装build-essential(apt install build-essential),配置国内npm镜像:npm config set registry https://registry.npmmirror.com
Q:WebSocket连接失败,实时功能不工作?
A:确认Nginx配置中包含proxy_set_header Upgrade $http_upgrade;和proxy_set_header Connection "upgrade";,确认论坛URL配置正确。
Q:NodeBB启动后无法访问?
A:检查4567端口是否监听:netstat -tlnp | grep 4567,查看日志:./nodebb log,确认Nginx反向代理配置正确。
Q:忘记管理员密码?
A:执行./nodebb reset -p admin重置管理员密码,或在数据库中修改用户记录的password字段(bcrypt哈希)。
官方网址
NodeBB官网地址:https://nodebb.org