NodeBB论坛程序是基于 Node.js构建,并支持Redis,MongoDB或PostgreSQL数据库。它利用Web套接字进行即时交互和实时通知。NodeBB具有许多现成的现代功能,例如社交网络集成和流媒体讨论,同时仍确保与旧版浏览器兼容。
这篇文章还是基于宝塔面板来搭建,不过,搭建的系统基于debian10,并使用MongoDB作为数据库存储数据。
Centos7下宝塔面板使用redis部署NodeBB论坛程序:https://www.daniao.org/12504.html
1、简介
- 项目:https://github.com/NodeBB/NodeBB
- 官网:https://nodebb.org/
- 文档:https://docs.nodebb.org/
- 演示:https://try.nodebb.org/
2、准备
- 宝塔面板(宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=)
- nginx1.19(软件商店搜索安装)
- pm2管理器(软件商店搜索安装)
- 准备一个域名不过没有也没关系,可以直接用IP:端口的形式访问
3、安装MongoDB
MongoDB宝塔是自带的,可以直接装,不过我真是嫌弃这自带的不好用,所以就抛弃了,还是直接安装一个用起来比较稳。
MongoDB是NodeBB的默认数据库,不支持mysql。
1)具体安装命令
apt -y updateapt -y install build-essential gnupg curl wget gitcurl -sL https://deb.nodesource.com/setup_13.x | bash -wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.listapt -y update
2)验证MongoDB的版本:
root@localhost:~# mongod --versiondb version v4.2.12
3)启动mongod
服务并验证服务状态:
sudo systemctl start mongodsudo systemctl status mongod
4)配置MongoDB
一般的MongoDB管理是通过MongoDB Shell完成的mongo
。MongoDB的默认安装在端口上侦听,27017
并且可以在本地访问。进入shell:
mongo
5)切换到内置admin
数据库:
> use admin
6)创建一个管理用户(与nodebb
我们稍后将创建的用户不同)。<Enter a secure password>
设置一个安全的密码。
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "root", db: "admin" } ] } )
admin
启用授权后,此用户的作用域为数据库以管理MongoDB。
7)添加一个新数据库名为,nodebb
:
> use nodebb
8)创建数据库用户和密码
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
该readWrite
权限允许NodeBB存储和从nodebb
数据库检索数据。该clusterMonitor
权限为NodeBB提供了对查询数据库服务器统计信息的只读访问权限,然后将其显示在NodeBB管理控制面板(ACP)中。
9)退出Mongo Shell:
> quit()
/etc/mongod.conf
通过添加以下行,在MongoDB配置文件中启用数据库授权:
security: authorization: enabled
注意,如果,没找到,就自己添加上去。
10)重新启动MongoDB,并验证先前创建的管理用户是否可以连接:
sudo systemctl restart mongodmongo -u admin -p your_password --authenticationDatabase=admin
如果一切配置正确,Mongo Shell将连接。输入quit() 退出。
4、安装NodeBB
1)首先,我们必须安装git
它用于分发NodeBB:
apt install -y git
2)下载程序
git clone -b v1.16.x https://github.com/NodeBB/NodeBB.git nodebbcd nodebb
3)安装
./nodebb setup
注意,安装一路默认即可,有些地方需要注意,如下:
[reply]
Welcome to NodeBB v1.16.1!This looks like a new installation, so you'll have to answer a few questions about your environment before we can proceed.Press enter to accept the default setting (shown in brackets).URL used to access this NodeBB (http://localhost:4567) Please enter a NodeBB secret (7206bc3a-ca11-4a78-9e09-c88611bb6db5) Would you like to submit anonymous plugin usage to nbbpm? (yes) Which database to use (mongo) 2021-02-22T15:16:26.107Z [17717] - info: Now configuring mongo database:MongoDB connection URI: (leave blank if you wish to specify host, port, username/password and database individually)Format: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] Host IP or address of your MongoDB instance (127.0.0.1) Host port of your MongoDB instance (27017) MongoDB username nodebbPassword of your MongoDB database MongoDB database name (nodebb) 2021-02-22T15:17:00.522Z [17717] - info: [database] Checking database indices.2021-02-22T15:17:00.669Z [17717] - info: [database] Checking database indices done!2021-02-22T15:17:07.355Z [17717] - verbose: [minifier] utilizing a maximum of 2 additional threadsConfiguration Saved OKPopulating database with default configs, if not already set...2021-02-22T15:17:07.471Z [17717] - warn: [cache-buster] could not read cache buster ENOENT: no such file or directory, open '/root/nodebb/build/cache-buster' {"errno":-2,"code":"ENOENT","syscall":"open","path":"/root/nodebb/build/cache-buster","stack":"Error: ENOENT: no such file or directory, open '/root/nodebb/build/cache-buster'"}Enabling default theme: nodebb-theme-personaNo categories found, populating instance with default categories2021-02-22T15:17:09.204Z [17717] - warn: No administrators have been detected, running initial user setupAdministrator username daniaoAdministrator email address [email protected] Confirm Password Creating welcome post!Enabling default plugins
[/reply]
4)启动NodeBB
./nodebb start
效果如下:
NodeBB Setup Completed. Run "./nodebb start" to manually start your NodeBB server.root@localhost:~/nodebb# ./nodebb startStarting NodeBB "./nodebb stop" to stop the NodeBB server "./nodebb log" to view server output "./nodebb help" for more commands
这样表示启动成功。在浏览器中用<IP:4567>打开即可访问。
5、效果演示
前端:
后端:
6、设置域名访问
直接看图:
6、开机启动(以下内容可选)
为 NodeBB 创建 systemd 服务,以便开机启动。
1)先新建一个叫做nodebb的用户和用户组并且把nodebb目录下所有文件的所有权转移给这个用户(组)。
$ sudo adduser --system --group nodebb$ sudo chown -R nodebb:nodebb /{你之前填写的目录}/nodebb
2)给 NodeBB 新建一个 systemd 单元,编辑以下文件。
nano /usr/lib/systemd/system/nodebb.service
3)填入以下内容:
[Unit]Description=NodeBB Daemon ServiceAfter=network.targetWants=network.target[Service]Type=forkingUser=nodebbStandardOutput=syslogStandardError=syslogSyslogIdentifier=nodebbWorkingDirectory=/root/nodebb/nodebb devPIDFile=/var/run/nodebb.pidExecStart=/usr/bin/env node loader.js #使用which node命令找到node位置Restart=always[Install]WantedBy=multi-user.target
4)保存退出,重载 systemd 服务,启动 NodeBB 服务并设置开机启动:
systemctl daemon-reloadsystemctl enable nodebbsystemctl start nodebb
7、最后
个人感觉,nodebb比Flarum要好用一点,就是安装起来还是麻烦,还是wp安装是最简单的~
如果程序不能打开,请在宝塔中放行默认的4567端口。
参考:
https://docs.nodebb.org/configuring/running/
https://docs.nodebb.org/installing/os/debian/
评论前必须登录!
注册