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 update apt -y install build-essential gnupg curl wget git curl -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.list apt -y update
2)验证MongoDB的版本:
root@localhost:~# mongod --version db version v4.2.12
3)启动mongod
服务并验证服务状态:
sudo systemctl start mongod sudo 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 mongod mongo -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 nodebb cd nodebb
3)安装
./nodebb setup
注意,安装一路默认即可,有些地方需要注意,如下:
4)启动NodeBB
./nodebb start
效果如下:
NodeBB Setup Completed. Run "./nodebb start" to manually start your NodeBB server. root@localhost:~/nodebb# ./nodebb start Starting 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 Service After=network.target Wants=network.target [Service] Type=forking User=nodebb StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodebb WorkingDirectory=/root/nodebb/nodebb dev PIDFile=/var/run/nodebb.pid ExecStart=/usr/bin/env node loader.js #使用which node命令找到node位置 Restart=always [Install] WantedBy=multi-user.target
4)保存退出,重载 systemd 服务,启动 NodeBB 服务并设置开机启动:
systemctl daemon-reload systemctl enable nodebb systemctl start nodebb
7、最后
个人感觉,nodebb比Flarum要好用一点,就是安装起来还是麻烦,还是wp安装是最简单的~
如果程序不能打开,请在宝塔中放行默认的4567端口。
参考:
https://docs.nodebb.org/configuring/running/
https://docs.nodebb.org/installing/os/debian/
1F
6666666666酷酷酷
2F
看看安装教程,悉心学习
3F
看看安装教程,悉心学习
4F
大佬666
5F
感谢大佬的教程,我用ubuntu的云服务器宝塔里面sudo systemctl start mongod
sudo systemctl status mongod这两个命令运行不了
B1
@ 楚轩大人 如果已经是root用户,不需要sudo
6F
学习学习!!
感谢啦!
7F
感谢了
学习!
8F
学习一下,感觉比较复杂啊
怕搞不定?
9F
感谢解决问题
10F
感谢分享!!
11F
感谢了
学习!
12F
看看安装教程,悉心学习
13F
好教程,学习学习
14F
学习一下
15F
学习一下
16F
666 学习学习,谢谢。
17F
6666牛啊
18F
看看安装教程,悉心学习
19F
666牛
20F
学习下,待会试试
21F
查看内容
22F
学习下,待会试试
23F
学习一下
24F
学习一下,待会试试