本站在之前的文章中详细的介绍过如何安装NodeBB社区。




按照前面两篇文章的方法应该都可以很方便的搭建好自己的社区。
由于NodeBB在不断的升级和更新,且官方文档都是英文的,对于一些刚开始使用NodeBB的朋友来说还是有一些难度的,那么本文就简单介绍一下如何更新和升级NodeBB。
首先,NodeBB更新升级分两种:

补丁版本间升级


例如从 NodeBB v1.6.0 升级到 NodeBB v1.7.0

补丁版本包含错误修正和其他小的改动。需要升级到你所在小版本序列中的最新补丁版本。

执行“升级步骤”一节的第1步到第3步。

小版本之间升级


例如从 NodeBB v1.7.2 升级到 NodeBB v1.7.3

小版本包含一些新的特性和重要的改动,但会保持向后兼容。其中可能涉及到依赖软件包的升级,而且其他特性有可能废弃(但是还是支持的)。

执行“升级步骤”一节的第1步到第4步。

升级步骤


关闭社区


[root@localhost ~]# cd /home/nodebb
[root@localhost nodebb]# ./nodebb stop
Stopping NodeBB. Goodbye!

备份数据


1、备份Redis

Redis中,所有的数据库数据都存放在.rdb文件中。Redis的主数据库默认安装路径为/var/lib/redis/dump.rdb
关闭社区后应该第一时间停止Redis数据库服务器并备份数据库文件,如下图。

停止Redis.gif

停止Redis

备份.gif

备份dump.rdb数据库文件

2、备份MongoDB

这部分博主未进行实际案例操作均为官方文档翻译,操作时请谨慎。

执行备份 MongoDB,只需要运行

[root@localhost ~]# mongodump

此命令会创建一个目录结构的备份,而且可以通过mongorestore命令恢复备份。
推荐备份前,先关闭数据库。在Debian / Ubuntu, 执行命令:sudo service mongod stop

备份附件目录已上传的头像、图片及附件
已上传的图片 (头像) 保存在 ./public/uploads。请备份目录:

这个操作一般在社区迁移的时候才需要使用
[root@localhost ~]# cd /home/nodebb/public
[root@localhost ~]# tar -czf ~/nodebb_assets.tar.gz ./uploads

获取最新代码


进入 NodeBB 目录:

[root@localhost ~]# cd /home/nodebb

如果从较低分支升级到较高分支,请根据需要切换分支。确保你现在的分支完全是最新的!

例如从 NodeBB v1.6.0 升级到 NodeBB v1.7.0
[root@localhost nodebb]# git fetch    # 从 NodeBB 代码库获取最新的代码
[root@localhost nodebb]# git checkout v1.7.x    # 按原样键入!不是v1.7.2或v1.7.3,而是“v1.7.x”!
[root@localhost nodebb]# git merge origin/v1.7.x

如果不是在分支之间升级,只需要执行下面的命令:

例如从 NodeBB v1.7.2 升级到 NodeBB v1.7.3
[root@localhost nodebb]# git fetch
[root@localhost nodebb]# git reset --hard origin/v1.7.x    # 将v1.7.x替换为你当前分支名称!

这应该能从代码库获中取最新(最高)版本的 NodeBB。
如果你不知道你当前的分支名称
可以执行git rev-parse --abbrev-ref HEAD来显示出你当前的分支名称。

[root@localhost nodebb]# git rev-parse --abbrev-ref HEAD
v1.7.x

运行 NodeBB 升级脚本


此脚本将安装所有缺失的依赖关系,升级任何插件或主题(如果可用升级),并在必要时迁移数据库。
[root@localhost nodebb]# ./nodebb upgrade    # 运行此行命令前请务必启用数据库

Note: ./nodebb upgrade 仅在v0.3.0之后才可用。 如果您运行的是早期版本,请运行下面的命令:

  • npm install
  • ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
  • node app --upgrade

启动 NodeBB、测试!


您现在应该运行是最新版本的NodeBB了。

如果觉得我的文章对你有用,请随意赞赏