如何使用phpEnv快速部署Wiki.js,构建高效现代维基环境?

2026-04-24 19:002阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1013个文字,预计阅读时间需要5分钟。

如何使用phpEnv快速部署Wiki.js,构建高效现代维基环境?

抱歉,您提供的内容似乎不完整,我无法根据现有的信息进行改写。请提供完整的句子或段落,以便我能够帮您进行简化改写。

Wiki.js 为什么不能用 phpEnv 启动

Wiki.js 官方明确要求运行在 Node.js(≥18.17.0)+ PostgreSQL/MySQL/SQLite 之上,其核心进程由 node 启动,入口是 server.js 或通过 npm start 触发。phpEnv 没有 node 管理能力,也不提供进程守护、端口反代等 Node.js 部署必需功能。

常见误操作包括:

  • 把 Wiki.js 放进 phpEnv 的 www 目录,以为能像 PHP 站点一样直接访问 —— 实际会 404 或返回源码文本
  • 尝试用 phpEnv 的「PHP-FPM + Nginx」配置去代理 Wiki.js —— 缺少 upstream 和 WebSocket 支持,登录、实时协作等功能全部失效
  • 误以为 phpenv install node 存在(它不存在;phpenv 和 nodenv 是两个独立项目)

正确部署 Wiki.js 的最小可行路径

绕过 phpEnv,直接使用系统级 Node.js + 轻量进程管理即可。Windows / macOS / Linux 均适用,无需 Docker:

立即学习“PHP免费学习笔记(深入)”;

  • 从 nodejs.org 下载并安装 LTS 版 Node.js(推荐 20.x),验证:node -vnpm -v
  • git clone https://github.com/Requarks/wiki.git 获取源码,或下载预编译包解压
  • 进入目录执行:npm ci --no-audit(比 npm install 更可靠,跳过 dev 依赖)
  • 复制 config.sample.ymlconfig.yml,至少填好 dbserver.port(如设为 3001
  • 首次运行:npm start,看到 Wiki.js is ready on http://localhost:3001 即成功

如何让 Wiki.js 在后台长期运行(替代 phpEnv 的「服务化」需求)

phpEnv 提供的「一键启停」其实是对 Apache/Nginx + PHP-FPM 的封装。Wiki.js 需要类似能力,但得换工具:

  • Linux/macOS:用 pm2(最简):npm install -g pm2pm2 start npm --name "wiki" -- start
  • Windows:用 node-windows 包建 Windows Service,或直接用 pm2 start + pm2 startup(需管理员权限)
  • 务必禁用 phpEnv 自带的 Nginx/Apache,否则 80/443 端口冲突;改用 Nginx 反向代理到 http://127.0.0.1:3001,并显式开启 proxy_set_header Upgrade $http_upgrade 支持 WebSocket
  • 数据库别选 SQLite 如果多人编辑——并发写入易锁死;PostgreSQL 是 Wiki.js 官方首选

如果硬要和 phpEnv 共存(比如本机已有 phpEnv 开发环境)

可以共存,但必须严格隔离:

  • 不要把 Wiki.js 放在 phpEnv 的 www/phpenv/versions/*/
  • Node.js 安装路径与 phpEnv 无关,建议全局安装(避免 nvm 切换干扰)
  • 若 phpEnv 启用了 Nginx,注释掉所有 location ~ \.php$ 块,并新增一个 location / 块专门反代 Wiki.js
  • 检查 phpenv shellphpenv local 是否污染了 PATH,导致 node 命令找不到——临时用绝对路径调用,如 /usr/local/bin/node

真正卡住人的从来不是安装步骤,而是默认假设「所有 Web 应用都能塞进同一个环境」。Wiki.js 不是 PHP 程序,它的生命周期、错误日志位置(logs/ 目录)、升级方式(git pull && npm ci)都和 phpEnv 管理的项目完全错位。盯住 nodepm2 这两个命令,比折腾 phpEnv 的配置文件高效十倍。

标签:phpenvPHPJS

本文共计1013个文字,预计阅读时间需要5分钟。

如何使用phpEnv快速部署Wiki.js,构建高效现代维基环境?

抱歉,您提供的内容似乎不完整,我无法根据现有的信息进行改写。请提供完整的句子或段落,以便我能够帮您进行简化改写。

Wiki.js 为什么不能用 phpEnv 启动

Wiki.js 官方明确要求运行在 Node.js(≥18.17.0)+ PostgreSQL/MySQL/SQLite 之上,其核心进程由 node 启动,入口是 server.js 或通过 npm start 触发。phpEnv 没有 node 管理能力,也不提供进程守护、端口反代等 Node.js 部署必需功能。

常见误操作包括:

  • 把 Wiki.js 放进 phpEnv 的 www 目录,以为能像 PHP 站点一样直接访问 —— 实际会 404 或返回源码文本
  • 尝试用 phpEnv 的「PHP-FPM + Nginx」配置去代理 Wiki.js —— 缺少 upstream 和 WebSocket 支持,登录、实时协作等功能全部失效
  • 误以为 phpenv install node 存在(它不存在;phpenv 和 nodenv 是两个独立项目)

正确部署 Wiki.js 的最小可行路径

绕过 phpEnv,直接使用系统级 Node.js + 轻量进程管理即可。Windows / macOS / Linux 均适用,无需 Docker:

立即学习“PHP免费学习笔记(深入)”;

  • 从 nodejs.org 下载并安装 LTS 版 Node.js(推荐 20.x),验证:node -vnpm -v
  • git clone https://github.com/Requarks/wiki.git 获取源码,或下载预编译包解压
  • 进入目录执行:npm ci --no-audit(比 npm install 更可靠,跳过 dev 依赖)
  • 复制 config.sample.ymlconfig.yml,至少填好 dbserver.port(如设为 3001
  • 首次运行:npm start,看到 Wiki.js is ready on http://localhost:3001 即成功

如何让 Wiki.js 在后台长期运行(替代 phpEnv 的「服务化」需求)

phpEnv 提供的「一键启停」其实是对 Apache/Nginx + PHP-FPM 的封装。Wiki.js 需要类似能力,但得换工具:

  • Linux/macOS:用 pm2(最简):npm install -g pm2pm2 start npm --name "wiki" -- start
  • Windows:用 node-windows 包建 Windows Service,或直接用 pm2 start + pm2 startup(需管理员权限)
  • 务必禁用 phpEnv 自带的 Nginx/Apache,否则 80/443 端口冲突;改用 Nginx 反向代理到 http://127.0.0.1:3001,并显式开启 proxy_set_header Upgrade $http_upgrade 支持 WebSocket
  • 数据库别选 SQLite 如果多人编辑——并发写入易锁死;PostgreSQL 是 Wiki.js 官方首选

如果硬要和 phpEnv 共存(比如本机已有 phpEnv 开发环境)

可以共存,但必须严格隔离:

  • 不要把 Wiki.js 放在 phpEnv 的 www/phpenv/versions/*/
  • Node.js 安装路径与 phpEnv 无关,建议全局安装(避免 nvm 切换干扰)
  • 若 phpEnv 启用了 Nginx,注释掉所有 location ~ \.php$ 块,并新增一个 location / 块专门反代 Wiki.js
  • 检查 phpenv shellphpenv local 是否污染了 PATH,导致 node 命令找不到——临时用绝对路径调用,如 /usr/local/bin/node

真正卡住人的从来不是安装步骤,而是默认假设「所有 Web 应用都能塞进同一个环境」。Wiki.js 不是 PHP 程序,它的生命周期、错误日志位置(logs/ 目录)、升级方式(git pull && npm ci)都和 phpEnv 管理的项目完全错位。盯住 nodepm2 这两个命令,比折腾 phpEnv 的配置文件高效十倍。

标签:phpenvPHPJS