如何使用phpEnv快速部署Wiki.js,构建高效现代维基环境?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1013个文字,预计阅读时间需要5分钟。
抱歉,您提供的内容似乎不完整,我无法根据现有的信息进行改写。请提供完整的句子或段落,以便我能够帮您进行简化改写。
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 -v和npm -v - 用
git clone https://github.com/Requarks/wiki.git获取源码,或下载预编译包解压 - 进入目录执行:
npm ci --no-audit(比npm install更可靠,跳过 dev 依赖) - 复制
config.sample.yml为config.yml,至少填好db和server.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 pm2→pm2 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 shell或phpenv local是否污染了PATH,导致node命令找不到——临时用绝对路径调用,如/usr/local/bin/node
真正卡住人的从来不是安装步骤,而是默认假设「所有 Web 应用都能塞进同一个环境」。Wiki.js 不是 PHP 程序,它的生命周期、错误日志位置(logs/ 目录)、升级方式(git pull && npm ci)都和 phpEnv 管理的项目完全错位。盯住 node 和 pm2 这两个命令,比折腾 phpEnv 的配置文件高效十倍。
本文共计1013个文字,预计阅读时间需要5分钟。
抱歉,您提供的内容似乎不完整,我无法根据现有的信息进行改写。请提供完整的句子或段落,以便我能够帮您进行简化改写。
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 -v和npm -v - 用
git clone https://github.com/Requarks/wiki.git获取源码,或下载预编译包解压 - 进入目录执行:
npm ci --no-audit(比npm install更可靠,跳过 dev 依赖) - 复制
config.sample.yml为config.yml,至少填好db和server.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 pm2→pm2 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 shell或phpenv local是否污染了PATH,导致node命令找不到——临时用绝对路径调用,如/usr/local/bin/node
真正卡住人的从来不是安装步骤,而是默认假设「所有 Web 应用都能塞进同一个环境」。Wiki.js 不是 PHP 程序,它的生命周期、错误日志位置(logs/ 目录)、升级方式(git pull && npm ci)都和 phpEnv 管理的项目完全错位。盯住 node 和 pm2 这两个命令,比折腾 phpEnv 的配置文件高效十倍。

