phpEnv是一款集成了PHP、MySQL、Nginx等组件的本地环境管理工具,默认主要支持PHP类项目的运行,而Ghost是基于Node.js开发的开源博客系统,要在phpEnv中部署Ghost需要先完成Node.js环境的适配和相关配置调整。

前期环境准备
首先需要确认phpEnv已经正常安装并启动,同时需要准备以下依赖:
- Node.js 16.x及以上版本,Ghost官方要求最低Node.js版本为16.0.0
- MySQL数据库,phpEnv自带的MySQL可以直接使用
- Git工具,用于拉取Ghost源码
安装Node.js环境
phpEnv默认没有集成Node.js,需要手动安装并配置环境变量:
步骤1:下载安装Node.js
前往Node.js官方网站下载对应系统的安装包,安装时勾选Add to PATH选项,安装完成后打开命令行输入以下命令验证是否安装成功:
node -v npm -v
如果正常输出版本号说明Node.js安装成功。
步骤2:配置npm镜像源
国内网络环境下建议切换为淘宝镜像源,提升依赖下载速度:
npm config set registry https://registry.npmmirror.com
部署Ghost博客
步骤1:创建Ghost安装目录
在phpEnv的www目录下新建ghost文件夹,作为Ghost的部署目录:
cd /path/to/phpenv/www mkdir ghost cd ghost
步骤2:安装Ghost命令行工具
使用npm全局安装Ghost的命令行管理工具:
npm install -g ghost-cli
步骤3:初始化Ghost项目
在刚才创建的ghost目录下执行初始化命令,按照提示填写配置信息:
ghost install
初始化过程中需要填写以下信息:
| 配置项 | 填写说明 |
|---|---|
| 博客URL | 本地测试可填写http://127.0.0.1:2368 |
| 数据库类型 | 选择mysql |
| 数据库主机 | 填写127.0.0.1 |
| 数据库端口 | phpEnv默认MySQL端口为3306 |
| 数据库名称 | 提前在phpEnv的MySQL中创建好ghost数据库 |
| 数据库用户名 | phpEnv默认MySQL用户名为root |
| 数据库密码 | 填写phpEnv中MySQL设置的密码 |
步骤4:配置phpEnv的Nginx反向代理
Ghost默认运行在2368端口,需要通过phpEnv的Nginx将请求转发到该端口,打开phpEnv的Nginx配置文件,添加以下代理规则:
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://127.0.0.1:2368;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
修改完成后重启phpEnv的Nginx服务使配置生效。
启动与验证
进入Ghost安装目录,执行启动命令:
ghost start
启动成功后打开浏览器访问http://127.0.0.1,就可以看到Ghost博客的初始化页面,按照提示设置管理员账号和密码即可正常使用。
常见问题解决
- 端口冲突:如果2368端口被占用,可以修改Ghost配置文件
config.development.json中的server端口,同时同步修改Nginx的代理配置 - 权限问题:Linux或macOS系统下如果启动失败,需要给Ghost目录赋予读写权限,执行
chmod -R 755 /path/to/ghost - 数据库连不上:检查phpEnv的MySQL服务是否正常启动,数据库账号密码是否填写正确
注意:Ghost默认运行模式为开发模式,生产环境需要执行ghost config set --env production切换为生产模式,同时配置对应的域名和SSL证书。