Wiki.js 是一款基于 Node.js 的现代化开源 Wiki 系统,它界面美观、功能强大,支持 Markdown 编辑和权限管理。下面为你详细介绍几种主流的部署方式。
🧠 快速掌握核心部署流程
部署 Wiki.js 主要有两种路径,其核心流程和决策点可以通过下图一目了然:
上图展示了两种部署路径的关键步骤。对于大多数用户,尤其是希望快速上手的初学者,推荐使用 Docker 部署,这是最简洁高效的方式。如果你需要更精细的控制或学习原理,传统部署方式则更为合适。
下面是每种部署方式的详细说明。
🐳 使用 Docker 部署(推荐)
这种方法通过容器技术将 Wiki.js 及其依赖(如数据库)打包在一起,极大地简化了安装和配置过程。
-
安装 Docker
-
首先,确保你的服务器上已经安装了 Docker 和 Docker Compose。
-
对于境内服务器,建议使用国内镜像源以加速下载:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
-
-
创建 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-stoppedwiki: 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修改为强密码。
-
-
启动服务
-
在
docker-compose.yml文件所在目录下,执行命令即可后台启动所有服务:docker compose up -d
-
⚙️ 传统方式部署
如果你倾向于不适用 Docker,或者希望更深入地了解各个组件的配置,可以选择此方式。
-
安装 Node.js
-
Wiki.js 需要 Node.js 16.0.0 或更高版本。
-
你可以从官网下载二进制文件并解压到指定目录,然后创建软链接到
/usr/local/bin/以便在终端中直接使用node和npm命令。
-
-
安装并配置数据库
-
Wiki.js 支持 PostgreSQL、MySQL、MariaDB 和 SQLite,推荐使用 PostgreSQL。
-
以 PostgreSQL 为例,安装后需要启动服务,并为 Wiki.js 创建专用的数据库和用户,并授予相应权限。
-
-
下载并配置 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
-
-
启动 Wiki.js
-
在 Wiki.js 目录下,直接运行启动命令:
node server -
为了更稳定地运行,建议将其配置为系统服务(如 systemd service),以便在服务器重启后能自动运行。
-
🚀 完成安装与基本设置
无论通过哪种方式部署,当服务成功启动后,都需要进行以下操作:
-
访问管理界面 :打开浏览器,访问
http://你的服务器IP:3000(如果你在 Docker 配置中修改了端口,请使用修改后的端口)。 -
初始化设置:首次访问会进入安装向导,你需要创建管理员账户并设置站点信息。
-
配置反向代理(可选但推荐) :如果你希望通过域名(如
wiki.yourcompany.com)访问 Wiki.js,并且启用 HTTPS 安全连接,你需要设置反向代理。可以使用 Nginx Proxy Manager (NPM) 或直接配置 Nginx。
💎 总结与选择建议
| 特性 | Docker 部署 | 传统方式部署 |
|---|---|---|
| 简易度 | 高,一条命令完成 | 中,需手动配置依赖 |
| 隔离性 | 高,容器隔离 | 低,依赖系统环境 |
| 管理难度 | 低,统一通过 Docker 管理 | 中,需分别管理服务 |
| 学习价值 | 了解容器化概念 | 深入理解服务配置 |
总的来说,对于大多数场景,Docker 部署是毫无疑问的首选,它能让你快速且无依赖冲突地搭建起一个功能完整的 Wiki.js 站点。如果你在部署过程中遇到具体问题,例如反向代理的配置细节,可以提出来,我会提供更详细的指导。