前言

本文介绍如何使用 Wiki.js 搭建知识库系统。

Wiki.js 官网

安装

前提准备

Wiki.js 几乎可以在任何支持 Node.js 的系统上运行。它可以运行在 Linux 、Windows、macOS等操作系统上,也可以运行在 Docker 、Kubernetes 等容器上。

  • CPU 推荐 2核或者更多

  • 内存 至少 1G

  • 存储 至少 1G

  • 数据库 推荐使用 PostgreSQL,MySQL/MariaDB/MS SQL Server/SQLite 也支持使用

Node 安装

Node.js 中文网

  1. 下载

    wget https://npmmirror.com/mirrors/node/v16.15.0/node-v16.15.0-linux-x64.tar.xz
  2. 解压

    tar -xf node-v16.15.0-linux-x64.tar.xz 
  3. 换名

    mv node-v16.15.0-linux-x64/ node
  4. 建立软连接

    ln -s /data/software/node/bin/node /usr/local/bin/

    也可以使用配置环境变量的方式

  5. 查看版本

     node -v

PostgreSQL 安装

PostgreSQL 官网

  1. 安装

    yum install postgresql-server
  2. 初始化数据库

    cd /usr/bin/
    ./postgresql-setup initdb
  3. 加入 systemctl 服务设置开机自启动

    systemctl enable postgresql.service
  4. 启动

    systemctl start postgresql.service
  5. 进入客户端命令

    sudo -u postgres plsql
  6. 修改密码

    ALTER USER postgres WITH PASSWORD 'postgres';
  7. 数据存储

    PostgreSQL 存储文件、配置文件默认在 /var/lib/pgsql/data/

  8. 开启远程访问权限

    编辑配置文件 postgresql.conf

    vim postgresql.conf 

    修改配置文件中的监听地址

    listen_addresses = '*'  

    在配置文件同级目录下有个文件 pg_hba.conf 最后面添加

    host     all             postgres        0.0.0.0/0               trust

    重启 postgresql 服务

    systemctl restart postgresql.service

    用 Navicat 成功连接

  9. 客户端操作命令

    进入客户端

    sudo -u postgres plsql

    查看数据库

    \l

    新建数据库

    create database wiki;

    退出客户端

    \q

Wiki.js 安装

  1. 下载

    wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
  2. 解压缩

    mkdir wiki
    tar xzf wiki-js.tar.gz -C ./wiki
    cd ./wiki
  3. 修改配置文件

    配置文件改名

    mv config.sample.yml config.yml

    配置数据库信息(注意:数据库要先创建)

    db:
    type: postgres

     # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
    host: localhost
    port: 5432
    user: postgres
    pass: 123456
    db: wiki
    ssl: false
  4. 启动服务

    在 wiki 目录下

    node server
  5. 加入 systemctl 服务

    /etc/systemd/system/ 下新建 wiki.service 文件

    [Unit]
    Description=Wiki.js
    After=network.target

    [Service]
    Type=simple
    ExecStart=/usr/local/bin/node server
    Restart=always
    # Consider creating a dedicated user for Wiki.js here:
    User=nobody
    Environment=NODE_ENV=production
    WorkingDirectory=/data/software/wiki # 这个要指定你 wiki 的安装地址

    [Install]
    WantedBy=multi-user.target

    重新加载

    systemctl daemon-reload
  6. 设置开机自启动

    systemctl enable wiki
  7. 启动服务

    systemctl start wiki
  8. 查看服务状态

    systemctl status wiki

    如果没有启动成功,可通过如下命令查看日志信息

    journalctl -u wiki

使用

配置管理员

Wiki.js 服务成功启动后,访问 http://ip:3000,出现如下页面:

配置管理员邮箱地址,密码,网站地址,后进行安装,稍等一会,就会出现如下页面:

配置中文

Wiki.js 默认使用英语,可配置中文,方便操作。

  1. 首先选择 后台管理

  2. 安装中文简体

  3. 切换到中文简体

创建页面

  1. 选择 创建主页

  2. Wiki.js 支持多种方式的编辑器,可以自行选择,有的还未开放

  3. 效果展示

  4.  

基于 Wiki.js 搭建知识库系统的更多相关文章

  1. LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统

    概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...

  2. 基于 Node.js 的服务器自动化部署搭建实录

    基于 Node.js 的服务器自动化部署搭建实录 在服务器上安装 Node.js 编写拉取仓库.重启服务器脚本 配置 Github 仓库的 Webhook 设置 配置 Node.js 脚本 其他问题 ...

  3. 基于 React.js + Redux + Bootstrap 的 Ruby China 示例 (转)

    一直学 REACT + METEOR 但路由部分有点问题,参考一下:基于 React.js + Redux + Bootstrap 的 Ruby China 示例 http://react-china ...

  4. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    前言 近来公司需要构建一套 EMM(Enterprise Mobility Management)的管理平台,就这种面向企业的应用管理本身需要考虑的需求是十分复杂的,技术层面管理端和服务端构建是架构核 ...

  5. Pomelo:网易开源基于 Node.js 的游戏服务端框架

    Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese

  6. 基于Node.js + jade + Mongoose 模仿gokk.tv

    原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 关于gokk 大学的娱乐活动基本就是在寝室看电影了→_→,一般都会选择去goxiazai.cc上看,里面的资源多,质量高 ...

  7. 基于Node.js的强大爬虫 能直接发布抓取的文章哦

    基于Node.js的强大爬虫 能直接发布抓取的文章哦 基于Node.js的强大爬虫能直接发布抓取的文章哦!本爬虫源码基于WTFPL协议,感兴趣的小伙伴们可以参考一下 一.环境配置 1)搞一台服务器,什 ...

  8. node.js搭建Web服务器

    Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...

  9. koa : Express出品的下一代基于Node.js的web框架

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966a ...

  10. 使用 Node.js 搭建微服务网关

    目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...

随机推荐

  1. drf多方式登录接口(手机号、邮箱、验证码)登录

    题目 ##### 3 多方式登录接口#### -使用auth的user表扩写 -用户名+密码 -手机号+密码 -邮箱+密码 -签发token逻辑,放在序列化类中写 方式一: serializer.py ...

  2. 解决element-ui下拉框数据过多,导致页面卡顿问题与本地分页功能实现

    效果 前情提要: 最近使用element-ui开发的一个页面,在打开的时候占用cpu非常高,有时候都能达到90%↑.在调试时发现其中一个下拉框的接口返回2k↑的数据.本着有问题问百度的精神,看到主要的 ...

  3. 20200825 BAT批处理文件详细教程

    原文链接:https://www.jb51.net/article/151923.htm 纯转载.侵删. 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列 ...

  4. SpringBoot集成支付宝 - 少走弯路就看这篇

    最近在做一个网站,后端采用了SpringBoot,需要集成支付宝进行线上支付,在这个过程中研究了大量支付宝的集成资料,也走了一些弯路,现在总结出来,相信你读完也能轻松集成支付宝支付. 在开始集成支付宝 ...

  5. Wise 的平台工程 KPI 探索之旅

    作者|Lambros Charissis 翻译|Seal软件 链接|https://medium.com/wise-engineering/platform-engineering-kpis-6a32 ...

  6. 设计 C++ 接口文件的小技巧之 PIMPL

    设计 C++ 接口文件的小技巧之 PIMPL C++ 里面有一些惯用法(idioms),如 RAII,PIMPL,copy-swap.CRTP.SFINAE 等.今天要说的是 PIMPL,即 Poin ...

  7. 3. AOP

    1. 代理模式 1.1 概念 ① 介绍 二十三种设计模式中的一种,属于结构型模式.它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用.让不 ...

  8. 关于 axios 是什么?以及怎么用?

    〇.前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中.简单的讲就是可以发送 Get.Post 请求. 诸如 Vue.React.Angular 等前 ...

  9. 使用GoEasy快速实现Android原生app中的websocket消息推送

    摘要: GoEasy带来了一项令开发者振奋的消息:全面支持Android原生平台!现在,您可以在Android应用中使用最酷炫的实时通信功能,借助GoEasy轻松实现消息的发送和接收.本文将带您领略G ...

  10. Day04_Java_作业

    A:选择题 1.下列哪个答案与show不是方法重载(b ). class Demo { void show(int a,int b,float c){} } A.void show(int a,flo ...