原创

关于 Nodepress

以前对 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 相关信息,很完善。

简单的技术就不值一提了,想起了有价值的再补充。

本文于   2017/2/15 上午  发布在  宁静寺  分类下,当前已被围观  2033  次

相关标签: Web开发 Node.js JavaScript

永久地址: https://surmon.me/article/9

版权声明: 自由转载-署名-非商业性使用   |   Creative Commons BY-NC 3.0 CN