如何部署wiki.js

Wiki.js 是一款基于 Node.js 的现代化开源 Wiki 系统,它界面美观、功能强大,支持 Markdown 编辑和权限管理。下面为你详细介绍几种主流的部署方式。

🧠 快速掌握核心部署流程

部署 Wiki.js 主要有两种路径,其核心流程和决策点可以通过下图一目了然:

上图展示了两种部署路径的关键步骤。对于大多数用户,尤其是希望快速上手的初学者,推荐使用 Docker 部署,这是最简洁高效的方式。如果你需要更精细的控制或学习原理,传统部署方式则更为合适。

下面是每种部署方式的详细说明。

🐳 使用 Docker 部署(推荐)

这种方法通过容器技术将 Wiki.js 及其依赖(如数据库)打包在一起,极大地简化了安装和配置过程。

  1. 安装 Docker

    • 首先,确保你的服务器上已经安装了 Docker 和 Docker Compose。

    • 对于境内服务器,建议使用国内镜像源以加速下载:

      复制代码
      curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  2. 创建 Docker Compose 文件

    • 创建一个专属目录(例如 /opt/docker/wikijs),并在该目录下创建名为 docker-compose.yml的文件。

    • 文件内容如下所示,它一次性定义了 Wiki.js 和其依赖的 PostgreSQL 数据库服务:

      version: "3"
      services:
      db:
      image: postgres:11-alpine
      environment:
      POSTGRES_DB: wiki
      POSTGRES_USER: wikiuser
      POSTGRES_PASSWORD: your_secure_password_here
      volumes:
      - postgres_data:/var/lib/postgresql/data
      restart: unless-stopped

      复制代码
      wiki:
        image: ghcr.io/requarks/wiki:2
        depends_on:
          - db
        environment:
          DB_TYPE: postgres
          DB_HOST: db
          DB_PORT: 5432
          DB_USER: wikiuser
          DB_PASS: your_secure_password_here
          DB_NAME: wiki
        restart: unless-stopped
        ports:
          - "3000:3000" # 将左边的 3000 改为你希望的主机端口

      volumes:
      postgres_data:

    • 请务必将 your_secure_password_here修改为强密码。

  3. 启动服务

    • docker-compose.yml文件所在目录下,执行命令即可后台启动所有服务:

      复制代码
      docker compose up -d

⚙️ 传统方式部署

如果你倾向于不适用 Docker,或者希望更深入地了解各个组件的配置,可以选择此方式。

  1. 安装 Node.js

    • Wiki.js 需要 Node.js 16.0.0 或更高版本。

    • 你可以从官网下载二进制文件并解压到指定目录,然后创建软链接到 /usr/local/bin/以便在终端中直接使用 nodenpm命令。

  2. 安装并配置数据库

    • Wiki.js 支持 PostgreSQL、MySQL、MariaDB 和 SQLite,推荐使用 PostgreSQL

    • 以 PostgreSQL 为例,安装后需要启动服务,并为 Wiki.js 创建专用的数据库和用户,并授予相应权限。

  3. 下载并配置 Wiki.js

    • 从 GitHub 发布页下载最新的 wiki-js.tar.gz压缩包。

    • 解压后,将配置文件样本重命名并编辑 config.yml,主要配置数据库连接信息和访问端口:

      复制代码
      port: 3000
      db:
        type: postgres
        host: localhost
        port: 5432
        user: wikiuser
        pass: your_secure_password_here
        db: wiki
  4. 启动 Wiki.js

    • 在 Wiki.js 目录下,直接运行启动命令:

      复制代码
      node server
    • 为了更稳定地运行,建议将其配置为系统服务(如 systemd service),以便在服务器重启后能自动运行。

🚀 完成安装与基本设置

无论通过哪种方式部署,当服务成功启动后,都需要进行以下操作:

  1. 访问管理界面 :打开浏览器,访问 http://你的服务器IP:3000(如果你在 Docker 配置中修改了端口,请使用修改后的端口)。

  2. 初始化设置:首次访问会进入安装向导,你需要创建管理员账户并设置站点信息。

  3. 配置反向代理(可选但推荐) :如果你希望通过域名(如 wiki.yourcompany.com)访问 Wiki.js,并且启用 HTTPS 安全连接,你需要设置反向代理。可以使用 Nginx Proxy Manager (NPM) 或直接配置 Nginx。

💎 总结与选择建议

特性 Docker 部署 传统方式部署
简易度 ,一条命令完成 ,需手动配置依赖
隔离性 ,容器隔离 ,依赖系统环境
管理难度 ,统一通过 Docker 管理 ,需分别管理服务
学习价值 了解容器化概念 深入理解服务配置

总的来说,对于大多数场景,Docker 部署是毫无疑问的首选,它能让你快速且无依赖冲突地搭建起一个功能完整的 Wiki.js 站点。如果你在部署过程中遇到具体问题,例如反向代理的配置细节,可以提出来,我会提供更详细的指导。

相关推荐
sinat_384241092 小时前
从零开始打造一个 Android 音乐播放器(Kotlin + Jetpack Compose)
android·开发语言·kotlin
zore_c2 小时前
【数据结构】二叉树初阶——超详解!!!(包含二叉树的实现)
c语言·开发语言·数据结构·经验分享·笔记·算法·链表
laocooon5238578862 小时前
《21天学通C语言》第一天
c语言·开发语言
Rysxt_2 小时前
UniApp pages.json 配置完全指南
开发语言·前端·javascript
三七吃山漆2 小时前
攻防世界——Web_php_wrong_nginx_config
开发语言·nginx·安全·web安全·网络安全·php·ctf
csbysj20202 小时前
XML Schema 复合类型 - 混合内容
开发语言
BD_Marathon2 小时前
Vue3_组件传参问题
前端·javascript·vue.js
wjs20242 小时前
Web品质 - 重要的HTML元素
开发语言
小魔女千千鱼2 小时前
运行小程序遇到的各种问题
前端·javascript·小程序