今天从零开始,把一个简单的博客扩展成了功能齐全的个人平台。记录一下做了什么。
一、基础博客搭建
最开始只是一个 Markdown 博客,支持写文章、打标签、文章归档。前端用 EJS 模板,深色主题风格。
二、域名和备案管理后台
给后台加了两个核心功能:
- 域名管理 — CRUD、搜索、状态筛选、批量导入导出(JSON/CSV)
- 备案管理 — CRUD、搜索、状态筛选、批量导入导出(JSON/CSV)
- 操作日志 — 自动记录增删改操作,最多保留500条
- 仪表盘 — 统计概览、到期预警、备案待审核提醒
数据用 JSON 文件存储,不依赖数据库。
三、导航页和商品展示
- 导航页 — 按分类分组展示常用网站,后台可管理
- 商品展示 — 支持淘宝/京东/拼多多商品卡片,首页推荐区,最多6个
四、绑定域名和 HTTPS
- 绑定
19920801.xyz域名 - nginx 反向代理(80/443 → 3000)
- Let's Encrypt 免费 SSL 证书,自动续期
五、数据分析系统
- 访问统计中间件,记录页面访问
- 后台数据分析页面:今日/昨日/总访问量、7天趋势图、热门页面、来源统计、设备分布
- 24小时时段分布柱状图
六、性能和 SEO 优化
- Gzip 压缩(页面压缩 63%)
- 静态资源缓存 30 天
- robots.txt、sitemap.xml 自动生成
- SEO meta 标签和 Open Graph 标签
- highlight.js 代码语法高亮
- 安全头(X-Content-Type-Options、X-Frame-Options 等)
七、移动端适配
所有后台页面加了汉堡菜单,移动端操作更顺手。
技术栈
- 后端:Node.js + Express
- 前端:EJS 模板 + 自定义 CSS
- 数据:JSON 文件存储
- 部署:systemd + nginx 反向代理
- SSL:Let's Encrypt
- 代码高亮:highlight.js
一天搞定这么多功能,挺充实的。博客地址:https://19920801.xyz