指路为码的电子书
日常工作中积累的技术笔记与实践记录,按主题整理成册,持续更新。
内容概览
| 章节 | 主要内容 |
|---|---|
| 编程语言 | 编程语言的发展与选型;以 PHP 为主线:8.4 环境安装、Reflection、Hyperf 的 AOP 实现、错误日志配置、php-fpm 工作原理与调优、Opcache 配置与优化 |
| Web 服务器 | Web 服务器与应用服务器的区别;Nginx 环境安装、反向代理 php-fpm |
| 数据库 | 数据库基础概念与分类;MySQL 安装 |
| Linux 安全相关 | 账号与登录安全配置(含 root 远程登录策略) |
| 消息队列 | RabbitMQ、RocketMQ、Kafka 的对比;RabbitMQ 安装与入门 |
| 常用工具 | Git(SSH 密钥、常用命令)、GitBook、Supervisor、Gogs、Codex、Claude Code |
| 其他知识 | CDN、SLB 等基础设施常识 |
阅读建议
- 左侧目录按主题分层,点击章节前的图标可展开/收起子章节
- 目录上方的搜索框支持全文检索,适合按关键词快速定位
- 代码块右上角的按钮可一键复制
- 页面底部提供 QQ / 微信分享,微信分享会生成当前页二维码
笔记以「先讲清楚是什么,再记录怎么做」为原则,涉及命令与配置的部分尽量给出可直接复制的片段,并标注踩过的坑。
关于本书
- 构建工具:HonKit 6.x
- 输出形态:纯静态站点,构建产物为
_book目录 - 内容随实践持续补充,如有疏漏或更好的做法,欢迎交流指正
本地开发与发布(维护者)
常用命令
npm install # 首次安装依赖
npm run dev # 本地预览源码,默认 http://localhost:4000
npm run build # 构建静态站点到 _book/
npm run preview # 用 HTTP 服务预览构建产物,http://localhost:8080
npm run deploy # 构建并通过 SSH 发布(需先配置 deploy.config.json)
npm run pdf # 导出 PDF
不要直接双击
_book/index.html用file://打开,页面在origin为null的环境下会因 CORS 和pushState报错,务必走 HTTP 服务。
新增一篇笔记
- 在
notes/对应主题目录下新建.md文件(文件名建议用英文,避免 URL 被编码) - 到 SUMMARY.md 中登记,缩进 4 个空格表示下级
- 图片放在同级目录,引用路径相对于当前 md 文件
未在
SUMMARY.md登记的页面不会被构建,也不会出现在侧边栏。
目录结构
my-book/
├── README.md # 首页(本文件)
├── SUMMARY.md # 侧边栏目录,决定构建哪些页面
├── book.json # HonKit 配置:标题、作者、插件、样式
├── notes/ # 笔记正文
│ ├── language/ # 编程语言
│ ├── server/ # Web 服务器
│ ├── database/ # 数据库
│ ├── linux/ # Linux 安全
│ ├── message_queue/ # 消息队列
│ ├── tools/ # 常用工具
│ └── extends/ # 其他知识(CDN、SLB …)
├── styles/website.css # 网站自定义样式
├── _layouts/website/page.html # 覆盖主题模板:favicon、分享栏
├── assets/share/ # 分享栏脚本与本地二维码库
├── scripts/deploy.mjs # 发布脚本(tar | ssh)
├── nginx.conf.example # Nginx 站点配置示例(按实际环境改 root / server_name)
├── _book/ # 构建产物,已被 git 忽略
└── .bookignore # 不随站点发布出去的文件
发布说明
- 只发布
_book的内容,服务器站点根目录直接指向解压后的结果 - 发布脚本会先清空远程目录再解压,删除或改名的笔记不会残留
- 解压后会把目录权限修正为 755、文件修正为 644,避免 nginx 因权限过严返回 403
- 服务端用 Nginx 时可直接参考 nginx.conf.example:保留目录末尾斜杠、
index index.html、搜索索引不缓存 - 构建与
honkit serve不要同时进行,两者都会写_book