This website requires JavaScript.
BING
Because the mountain is there
OG

关于 NodePress

1,100 words, 3 min read2017/02/15 AM6,056 views

以前对 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-Alive 和 Cache 各种乱七八糟的东西进行缓存优化(不过 HTTP2 来了已经没什么卵用了)。

持续集成方面使用了 GitHub 提供的 webhook & github-webhook-handler 项目实现的自动热部署,以及后期加入了数据备份服务,合并为 "运维服务平台", 代码在这里

运维方面使用了 pm2 进行良好的日志、运维情况管理,甚至可以通过 pm2 官方的运维管理平台得到实时的系统信息、运行情况、git 相关信息,很完善。

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

完。

Creative Commons BY-NC 4.0https://surmon.me/article/9
3 / 3 comments
Guest
Join the discussion...
  • HelloYu
    Helloyu🇭🇰HKSham Shui PoMac OSChrome
    #2268

    在nestjs awesome看到你的这个开源库,发现vue-quill-editor又是你写的,还骑行走了西藏?徒步?相同爱好很多,向你学习,努力提高自己。

  • imruxin
    Imruxin🇨🇳CNXiamenMac OSChrome
    #984

    漏了一个字? ...一整套良好标准...

    • Surmon
      Surmon🇨🇳CNShanghaiMac OSChrome
      #986

      reply:

      细心,为你点赞 👏