在CentOS上搭建现代化的论坛Nodebb|NodeBB安装记录(Linux-CentOS篇)
Gaein nidb Lv5

CentOS在各种服务器上使用的较多,所以捏,就来尝试一下CnetOS上安装NodeBB

CentOS 7 on VMWare

不过我这次选择的数据库是MongoDB

一、准备工作

打开终端,切换到root用户

su root

https://s1.ax1x.com/2018/07/21/P8H3AP.jpg

关闭SELinux(有些可能没有,跳过)

vim /etc/sysconfig/selinux

如果没有vim(见https://blog-old.gaein.cn/post/Nodebb-Linux-Ubuntu.html

就用yum安装呗

yum install vim ##如果 vim 指令未安装,那就安装它

按下i键(当然如果你想知道有什么键可以自行百度)

找到 SELINUX 然后修改成 disabled.

按下ESC退出编辑模式,输入:,再输入退出并保存命令:wq

yum update
yum -y install epel-release
yum -y groupinstall "Development Tools"
yum -y install git ImageMagick ImageMagick-devel##更新系统并安装一些基础工具

二、安装NodeJS

在Github可以找到最新的nvm安装命令

https://github.com/creationix/nvm

所以我们使用

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
##或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

安装nvm(这是一个快速部署的脚本)

使用

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" ## This loads nvm

把nvm添加到环境变量

使用

source ~/.bashrc

令环境变量生效

最后使用

command -v nvm

检查是否安装成功

安装成功之后,如果是国内的机器需要使用

export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs

让nvm使用淘宝源

npm config set registry http://registry.npm.taobao.org/

让npm使用淘宝源

使用

nvm install --lts

安装lts版本的nodejs

之后记得使用

npm -v

nodeb -v

检查版本,如果成功输出版本号,则安装成功

三,安装数据库(MongoDB)

使用命令

vim /etc/yum.repos.d/mongodb-org-3.6.repo

创建文件并且输入i进行编辑,将以下内容粘贴进去

[mongodb-org-3.6]name=MongoDB 
Repositorybaseurl= 
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

输入:wq保存并退出

再使用

yum updata

更新

使用

yum -y install mongodb-org

安装mongoDB

因为是国外的服务器所以速度不行,当然也可以自行在使用update之前把链接替换为国内的镜像站

完成之后使用

service mongod start ##启动 Mongodb
mongod --version ##查看 Mongodb 版本

有一点需要注意:如果版本3.4.10的话需要升级,因为3.4.10以下有风险

安装完成后,为了消除 MongoDB 的性能警告,需要关闭 Linux 巨型页:

使用

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

来关闭

不同于官方文档,在获取nodebb之前,我选择先进行数据库设置

输入

mongo

进入mongoDB的命令行

使用

use nodebb

新建数据库(名为nodebb)

使用

db.createUser({user: "nodebb" ,pwd: "替换成你的密码" ,roles:[ "readWrite" ]})

添加用户角色(牢记用户名(此处为nodebb)和密码!)

如果需要在nodebb后台查看数据库数据,输入以下代码

db.grantRolesToUser( "nodebb" ,[{ role: "clusterMonitor", db: "admin" }]);

打开权限认证,使用命令

vim /etc/mongod.conf

取消注释并改为

security:   
    authorization: enabled

如图所示

使用

service mongod restart

重启mongoDB

四、安装NodeBB

如果没有git,请使用

yum install git

中文社区的文档中已经说明

在开始之前:
① 提前切换成root用户,免得麻烦。
② 不要直接下载 Github 上发布的 release 压缩包,那里面没有 .git/config 配置文件,而在安装过程中需要读取配置文件的值。正确的做法是使用 Git 从 GitHub 上克隆源代码。

新建一个目录(如果是云服务器的话最好放在数据盘里面,默认的/root目录不会太大,不过因为我比较懒就直接这样了)

可以使用

mkdir 目录

来新建文件夹(注意有&##39;/&##39;和没有的区别)

使用

cd 目录

进入刚刚新建的目录(同样注意&##39;/&##39;)

使用

git clone -b v1.10.x https://github.com/NodeBB/NodeBB.git nodebb##把nodebb克隆进nodebb文件夹

现在,你可以使用国内的镜像仓库(https://gitee.com/NodeBB-CN/NodeBB.git)来提高连接速度。

这是中文社区文档上的话,但是...

(这个是当时没有截图后来用物理机补的:D)

嗯...

所以我闲的创建了一个仓库,可以使用 https://gitee.com/nidb/NodeBB.git

使用

./nodebb setup

来安装,当然,上一篇(在Ubuntu上搭建现代化的论坛Nodebb|NodeBB安装记录(Linux-Ubuntu篇))中说过,可以使用可视化的界面来安装,使用

./nodebb install

和普通的博客安装差不多啦!

说明:

Web Address(URL)是以后访问的地址,如果是搭建的论坛记得写域名(可以不加端口,以后在nginx反代理)当然,建议先使用默认的调试。注意不要忘记“http://”,结尾不要加&##39;/&##39;,只有这个链接能够访问论坛,其他链接访问会显示链接断开(比如我有一个服务器,IP是1.2.3.4,域名www.exp.com和exp.com都A记录过去了,这里我填写www.exp.com,那么exp.com和1.2.3.4访问的时候都会显示与“NodeBB的链接断开”)

Username,Email Address ,Password是论坛管理员的账号邮箱密码,牢记。邮箱要填写可以用的,以便以后开邮件验证功能的时候不用再去修改

Confirm Password是确认密码

数据库选择MongoDB

Redis的话自己去网上看资料吧23333

中文社区的文档都很详细的,这个是CentOS+Redis的链接:https://www.kancloud.cn/a632079/nodebb-cn/372107  ,至于Ubuntu,看我以前的博文

Host IP or address of your MongoDB instance是数据库的地址,如果使用的是本机,默认即可

Host port of your MongoDB instance是数据库端口,如果没有改过,默认即可

MongoDB username是用户名,Password of your MongoDB database是密码,前面设置过的

MongoDB database name是数据库名,前面use nodebb创建的

点击Install NodeBB安装

终端已经有反应了

然后开始部署

这可能需要几分钟,部署完成后提示你使用

./nodebb start

开启nodebb

NodeBB已经成功运行,并且提示你三个常用的命令:分别是停止、日志(实时)、和重启

打开http://127.0.0.1:4567

已经可以正常访问!