手把手教你搭建Raneto知识库框架(一)

510 阅读7分钟

作者:悠悠做神仙

来源:恒生LIGHT云社区

需求背景:

我们一个小组,组长希望搭建一个知识库框架,考虑数据安全,同时不能太过复杂,可快速搭建起来并投入使用(因为没有丰富的机器资源给我们:daku:)。

可见,最后这个任务还是交给我了。

技术选型:

目前,已知一些比较好的可以作为知识库的框架,给组长反馈,但是都被打回来了。比如:

  • 语雀:虽然使用体验极佳,但是老大觉得数据不安全,毕竟是阿里的云知识库。
  • 石墨文档:理由也是安全角度,毕竟石墨文档也是云知识库。
  • Confluence:10人以下免费,超过就要花钱,而且相对而言建立和部署比较复杂。
  • 腾讯文档等,理由就是从数据安全角度,以及资源维护来说,统统被pass掉。

正当苦恼的时候,一个小而美的只是框架映入眼帘,没错就是接下来要的——Raneto

话不多说,“翠花,上干货!”

1、初始Raneto

Raneto官网:docs.raneto.com/

Raneto Git地址:github.com/gilbitron/R…

(看这简洁大气的布局,i了i了)

raneto官网.jpg

官网介绍如下:

Raneto 是Node.js的知识库平台,它使用静态 Markdown文件来支持知识库。

Raneto 可以称为“静态站点生成器”,因为它不需要数据库。您的所有内容都存储在 contentMarkdown ( .md) 文件中的文件夹中,整个知识库结构和内容由 Raneto 生成。这很好,因为它是:

  • 简单: 您可以使用自己喜欢的文本编辑器创建和管理整个知识库
  • Flat: Raneto 是一个“平面文件”CMS,意味着没有数据库问题,没有 MySQL 查询,什么都没有
  • 快速: Raneto 非常轻量级,并且不使用数据库,因此速度非常快

很想然,这个小东西非常符合我们的需求,支持markdown,同时无需部署数据库,也不用部署一些服务,基于Node.js,极其方便,下面我们开始干活。

2、下载Node.js

既然是基于Node.js,我们就需要先安装Node.js。

首先,根据系统,下载对应的Node.js。

Node.js官网:nodejs.org/en/download…

node官网.jpg

但是,考虑到官网链接有时候不太稳定,而且,一般官网都是最新版本,我们本身可能用不到这么新的版本,别急,这里给大家准备了一个以往版本的下载资源:

nodejs.org/zh-cn/downl…

node.js以往版本.jpg

小仙这里用的版本是Linux的V10.12.0版本。

3、安装Node.js

首先按照把需要的Node.js下载下来。可以选择官网下载,也可以用上文提到的在历史版本里,根据系统选择下载。下面以Linux的V10.12.0安装为例:

[root@yyzsx /]# cd /usr/local/src/
[root@yyzsx src]# wget http://nodejs.org/dist/v10.12.0/node-v10.12.0.tar.gz
--2021-07-08 02:50:32--  http://nodejs.org/dist/v10.12.0/node-v10.12.0.tar.gz
正在解析主机 nodejs.org (nodejs.org)... 104.20.23.46, 104.20.22.46, 2606:4700:10::6814:172e, ...
正在连接 nodejs.org (nodejs.org)|104.20.23.46|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://nodejs.org/dist/v10.12.0/node-v10.12.0.tar.gz [跟随至新的 URL]
--2021-07-08 02:51:36--  https://nodejs.org/dist/v10.12.0/node-v10.12.0.tar.gz
正在连接 nodejs.org (nodejs.org)|104.20.23.46|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:36277157 (35M) [application/gzip]
正在保存至: “node-v10.12.0.tar.gz”

100%[==============================================================================================================================>] 36,277,157   733KB/s 用时 50s  

2021-07-08 02:52:26 (715 KB/s) - 已保存 “node-v10.12.0.tar.gz” [36277157/36277157])

#解压tar zxvf node-v0.10.24.tar.gz
[root@yyzsx src]# tar zxvf node-v10.12.0.tar.gz
#编译
[root@yyzsx src]# cd node-v10.12.0
[root@yyzsx node-v10.12.0]# ./configure --prefix=/usr/local/node/10.12.0
[root@yyzsx node-v10.12.0]# make
[root@yyzsx node-v10.12.0]# make install

#环境变量vim /etc/profile
[root@yyzsx node-v10.12.0]# vim /etc/profile
#set for nodejs
export NODE_HOME=/usr/local/node/10.12.0
export PATH=$NODE_HOME/bin:$PATH

#:wq保存并退出,编译/etc/profile 使配置生效source /etc/profile
[root@yyzsx node-v10.12.0]# source /etc/profile

#验证:node -v
[root@yyzsx node-v10.12.0]# node -v
v10.12.0

#npm模块地址/usr/local/node/0.10.24/lib/node_modules/

编译下载的时候,可能会下载缓慢或者下载失败,可以参考下一部分内容【4、疑难解决--安装Node.js失败、npm下载缓慢等】。

其他系统(windows、Mac OS等)安装,可以参考:Node.js安装配置

4、疑难解决--安装Node.js失败、npm下载缓慢等

有些同学,可能本身机器上已经安装了比较老的Node.js,或者安装的Node.js与机器上本来的npm版本不一致,那么就会有各种各样的报错。

如果遇到和npm版本不兼容,可以考虑先卸载Node.js,然后看一下Node.js和npm版本对照。

Node.js和npm版本对照

版本对照.jpg

版本不一致,或者以前有老的Node.js,都需要先卸载再安装。

卸载Node.js:

[root@yyzsx /]# yum remove nodejs npm –y
/usr/local/lib     删除所有node 和 node_modules文件夹
/usr/local/include 删除所有 node 和  node_modules 文件夹
/usr/local/bin     删除 node 的可执行文件
删除: /usr/local/bin/npm
删除: /usr/local/share/man/man1/node.1
删除: /usr/local/lib/dtrace/node.d
删除: rm -rf /home/[homedir]/.npm
删除: rm -rf /home/root/.npm
检查 ~ 文件夹里面的"local"   "lib"  "include"  文件夹,然后删除里面的所有  "node""node_modules" 文件夹

可以使用以下命令查找:
find ~/ -name node
find ~/ -name node_modules

关于npm下载太慢或失败处理:

npm默认的仓库地址为:registry.npmjs.org

因为npm的远程服务器在国外,所以有时候难免出现访问过慢,甚至无法访问的情况。

查看当前npm仓库地址命令:npm config get registry

不要灰心,淘宝为我们搭建了一个国内的npm服务器,它目前是每隔10分钟将国外npm仓库的所有内容“搬运”回国内的服务器上,这样我们直接访问淘宝的国内服务器就可以了。

它的地址是:registry.npm.taobao.org

所以针对下载缓慢或者失败的情况,有两种解决办法:

方法一:

直接安装淘宝提供的cnpm,并更改服务器地址为淘宝的国内地址。

命令:npm install -g cnpm --registry=https://registry.npm.taobao.org

这样,以后用 npm的时候,需要都换成 cnpm

方法二(推荐):

替换 npm仓库地址为淘宝镜像地址

命令:npm config set registry https://registry.npm.taobao.org

查看是否更改成功:

[root@yyzsx /]# npm config get registry 
https://registry.npm.taobao.org/
[root@yyzsx /]# 

显示我们设置的淘宝镜像地址,说明修改成功。这样,以后依然用npm命令,但是实际是从淘宝国内服务器下载。

这里附上几个常用的Node模块管理的命令:

显示版本:npm -v

安装模块:npm install xxx(模块名)

全局安装xx模块:npm install -g xxx(模块名)

显示模块的详情:npm show xxx(模块名)

列出已经安装的模块:npm list

升级当前目录下的所有模块:npm update

升级当前目录下的指定模块:npm update xxx(模块名)

升级全局安装的模块:npm update -g xxx(模块名)

删除指定模块:npm uninstall xxx(模块名)

5、下载并安装Raneto

经过1-4步,基本上环境已经准备好了,我们现在下载我们的主角:Raneto。

目前,Raneto版本比较多,但是考虑到一些布局等,不建议用比较古老的版本,小仙下载了几个版本,最后综合布局以及和之前安装的Node.js版本对应下来,选择了V0.16.5版本(也是后续的演示版本)。

安装方式根据下载方式的不同,有所差别,这里分别展示一下:

安装方法一(推荐):

下载Raneto压缩包到本地,下载地址:codeload.github.com/gilbitron/R…

这个下载地址,输入后会自动下载,如果需要不同版本,只写修改最后的版本即可。

然后上传到你要部署的机器,指定一个位置。

#解压
[root@yyzsx raneto]# tar zxvf Raneto-0.16.5.tar.gz
[root@yyzsx raneto]# cd /home/hundsun/raneto/Raneto-0.16.5
#安装模块&查看模块
[root@yyzsx Raneto-0.16.5]# npm install
[root@yyzsx Raneto-0.16.5]# ls node_modules/ 
#启动服务
[root@yyzsx Raneto-0.16.5]# npm start
#访问,默认端口号为3000
http://服务器地址:3000/

安装启动完成,是不是满满的成就感!

啓動.jpg

安装方法二:

此方法是直接将Raneto从Git库,克隆下来,然后安装npm模块并启动。

前提就是,服务器已安装git。

git clone https://github.com/gilbitron/Raneto.git
cd Raneto
npm install
npm start

安装完成,是不是感觉很简单,成就感爆棚,先给自己点个赞!(别忘了给小仙来个一键三连啊,点赞+收藏+关注:xieyanxiao:)

有的同学说了,“这都是英文,也不知道怎么用……”

别急,除了官方文档里面会有说明怎么使用,小仙也整理了一篇教大家进行定制使用的文章,指个路:手把手教你搭建Raneto知识库框架(二)