适用人群:你是那种受够了 WordPress 的臃肿、憎恨数据库备份、只想用纯文本 Markdown 写内容、又想要个漂亮后台管理界面的家伙?或者你是个刚入门的独立开发者,想给自己搭个博客或公司官网,但不想碰 MySQL,更不想被一堆 PHP 插件拖慢速度?好,这篇就是给你写的,Grav CMS 是扁平文件 CMS 里的硬通货,不需要数据库,性能好到离谱,部署简单到令人发指,但别高兴太早,新手踩坑的地方一个不少,我一个个给你指出来,跟着走,别自己瞎改。
第一步:下载和解压——别下错版本
去官网 getgrav.org 下载 Grav Core 包,别下那个“Skeleton”包,那是别人搭好的演示站,新手容易懵,你只要一个干净的骨架。
踩坑警告:下载后解压,文件夹名字不要有中文或空格,my-site 就行,别写成 我的网站,后面命令行会报错,别问为什么,照做。
解压后,目录结构长这样:

从零开始,十分钟搭一个能用的轻量级网站—Grav CMS 硬核实操(废话不多说版)
my-site/
├── user/
├── pages/
├── vendor/
├── index.php
└── ...
如果你看到少东西,重新下一遍。
第二步:运行——先别碰 Apache 或 Nginx
最简单的方式是用 PHP 内置服务器,打开终端(Mac/Linux)或 CMD(Windows),cd 到你的 my-site 目录,然后运行:
php -S localhost:8080 system/router.php
要点:这一步要求你的 PHP 版本 >= 7.3.6,且要启用 openssl、mbstring、curl 等扩展,不知道怎么看?运行 php -m,看看有没有这些,缺了就去改 php.ini,别偷懒。
然后浏览器打开 http://localhost:8080,你应该看到一个带“Grav”字样的默认页面,如果报 404 或者白屏,检查 system/router.php 文件是否存在,很多新手解压时误删了。
第三步:安装 Admin 插件——没后台你怎么玩?
默认的 Grav 没有图形后台,只能用命令行或者直接写文件,你要装 Admin 插件才能像 WordPress 那样点鼠标。
打开终端,进到 my-site 目录,运行:
bin/gpm install admin
踩坑提醒:这一步会报错“未找到命令?”检查你的 bin/ 目录下有没有 gpm 文件,权限对不对,Linux/Mac 要设置执行权限:
chmod +x bin/gpm
Windows 用户直接用 Git Bash 或者 WSL,别用 CMD,gpm 脚本是 bash 写的,Windows 原生 CMD 会卡死。
安装成功后,刷新页面,右上角会出现一个“Login”按钮,点击进去,第一次访问会让你创建管理员账号:填用户名、密码、邮箱。
配置要点:密码至少 8 位且包含大小写和数字,邮箱要真实(用于找回密码,但很少用),填完点“Create User”,登录后你就看到后台了——左边菜单有 Pages、Plugins、Themes、Configuration。
第四步:创建第一个页面——Markdown 才是灵魂
后台点击“Pages” -> “Add Page”,标题写“我的第一篇文章”,路由自动生成 /my-first-post编辑器是所见即所得?不,推荐直接切到“Advanced”模式,写 Markdown。
Grav 默认的页面模板是 default.md,你可以在内容里写:
--- 我的第一篇文章
---
## Hello World
这是用 **Markdown** 写的。
保存后,去前台 /my-first-post 看效果。
踩坑:很多新手不知道 Grav 的页面文件是 文件夹名.md 的格式,页面路径由文件夹决定,而不是文件名,如果想建一个多级目录,/blog/hello,你需要在 pages/ 下新建 blog 文件夹,里面再建一个 hello 文件夹,然后在 hello 文件夹里放一个 default.md,别搞混了,否则路由会乱。
第五步:改配置——哪些必须动
进入后台的“Configuration”菜单,你会看到:
- 站点设置:
Site Title改成你的网站名,Default Language改zh-cn(中文界面支持?需要安装中文语言包,但那是后话)。 - 系统设置:
Cache->Enabled选Yes,默认是关闭的,不开启的话每次请求都要重新编译 Twig 模板,慢得要死。 - 安全:
Force SSL先不用开,本地开发不需要。 - 维护区:
SimpleSearch插件安装后,还需要手动配置搜索结果页路由,很多新手一搜就404。
配置要点:如果你用 Nginx 上线,务必在nginx.conf里加上 URL 重写规则,Grav 官方文档有现成代码,不要自己瞎写,Apache 的.htaccess已经默认带好了,但要确保AllowOverride All开启。
第六步:安装主题和插件——别贪多
后台的“Themes”里,官方推荐 Antimatter 或 Quark,新手先用 Quark,基于 Bootstrap 4,移动端自适应,默认就很漂亮。
安装:点 “Themes” -> “Add Theme” -> 搜索 quark -> 安装并激活。
踩坑:激活新主题后可能会打不开页面,因为 Quark 要求某些插件(Markdown-Fontawesome)缺失,后台会有红色警告,按提示安装对应插件即可。
插件方面,我只推荐装这三个:Admin(已经装了)、SimpleSearch、Pagination,其他花里胡哨的图片懒加载、SEO 工具等你用熟了再搞。
第七步:常见踩坑全集——不看你哭
- 权限问题:部署到服务器后,
user/、cache/、tmp/文件夹必须给 web 用户写入权限(通常是 755 或 775),否则你装不了插件,也写不了缓存,很多新手用chmod 777解决问题,虽然能用但非常危险,我建议改用chown -R www-data:www-data user cache tmp。 - PHP 内存限制:安装大插件(Admin 本身)时,有时会提示
Allowed memory size exhausted,去php.ini里把memory_limit改成 256M 或更高,别省。 - 路径问题:如果你把 Grav 放在子目录(
example.com/blog/),需要在user/config/system.yaml里增加一行absolute_urls: true,否则所有链接都会缺少前缀。 - 中文 URL 乱码:Grav 默认的 slug 生成会拼音化,但如果你手动写了中文路由,
/关于我,大概率变成%E5%85%B3%E4%BA%8E%E6%88%91但这没问题,浏览器能解析,但如果用了 Nginx,确保charset utf-8;配置正确。 - 调试模式:遇到白屏不要慌,打开
user/config/system.yaml,找到production: true改成false,再设置debugger: enabled: true,刷新页面看底部报错,很多问题是少装了某个 PHP 扩展,gd或imagick,根据报错去装就行。
总结一句
Grav 不像 WordPress 那样按个按钮就能搞定所有事,但它干净、快、无数据库依赖,适合做个人博客、文档站或小型官网,你只要按上面步骤走一遍,十分钟内就能看到一个可用的后台和前台,别一上来就想装几十个插件,先把基础页面跑通,再慢慢折腾,有什么问题,去官方论坛或者直接查文档,别乱搜半年前的过时教程,行了,动手吧。
发表评论