以前对 Nodepress 的定位是:一个基于 Node.js 的博客内容管理程序(服务端)。
其实现在 Nodepress 广义上已经是一整套包含不同角色的前端、服务端、运维、客户端的一整套博客系统。
Nodepress 中的 nodepress
它提供一整套良好标准的 RESTful API,并同时具有自动 ping,生成 sitemap 等功能; 为各个客户端提供统一的数据支持。
v2.x 包含的技术:
- Express 提供良好的 HTTP 服务和控制
- JWT Json Web Token 供权限管控服务,根据 sk 和自定义 data 生成 token 并核验
- 简单为了 async 而 async 地实践了一点点 async
- 用
request
模块实现百度的 seo 自动 push、update、del - 自建评论系统,包含管理、spam、黑名单...等功能
- redis 内存缓存服务...
- 七牛
- nodemailer
- socket.io 弹幕
- 在 24 个月时间里迭代了无数次加了无数功能...
- ...
v3.x 技术架构:
- 使用 nestjs & Typescript 框架作为开发基石
- 编不下去了... 看文档吧
Nodepress 中的业余运维
Web Server 部分使用了 HTTP2 & SSL,由 Nginx 支撑,HTTP 方面使用了 Keep-Aliv 和 Cache 各种乱七八糟的东西进行缓存优化(不过H2来了已经没什么卵用了)。
持续集成方面使用了 Github 提供的 webhook & github-webhook-handler
项目实现的自动热部署,以及后期加入了数据备份服务,合并为 "运维服务平台", 代码在这里 。
运维方面使用了pm2
进行良好的日志、运维情况管理,甚至可以通过pm2
官方的运维管理平台得到实时的系统信息、运行情况、git 相关信息,很完善。
简单的技术就不值一提了,想起了有价值的再补充。
完
漏了一个字? ...一整套良好标准...
reply:
细心,为你点赞 👏