本站在之前的文章中详细的介绍过如何安装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
备份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了。