个人主页网站的搭建

早就有搭个个人主页的打算,服务器也已经租了一年了,无奈一直没有那个闲心逸致来做这个事,直到最新才利用周末的时间来做一下吧


下面开始介绍:

服务器

租了个阿里云的,最低配的那种,Ubuntu系统

Web服务结构

Nodejs + express框架 + mongodb数据库

其中,express使用ejs模版引擎(这个后面打算做下简单介绍),服务器上用了Nginx做了个简单的反向代理,为了让多个web服务公用一个80端口。

开发工具

开发工具我选择了WebStorm,对Nodejs支持性很好,本地调试支持断点。

软件架构

使用express创建的模版为基础,增加相关路由(router)模块,以及mongodb数据库读写模块,大致架构如下:

(这图画的很不专业,专业人士勿喷~)
解释下:

根据express的路由(router)特性,可以将http请求分成几类,分别给不同的router处理,方便模块划分。这里的router主要负责http层的数据处理,比如解析url中的参数或者session中的字段,调用handler中的方法处理数据,最后将处理结果(html字符串,json字符串)发回客户端。

handler作为业务逻辑层负责处理业务逻辑,并读写数据库。

数据库驱动层是数据库读写方法的一层封装,这一层应该作为接口存在(例如Java中的jdbc),不过我暂时只使用mongodb,所以就偷个懒哈。。。

mongodb数据存储

mongodb是NoSQL数据库的典型代表,什么是NoSQL这里不多做介绍了(NoSQL介绍传送门),总之mongodb非常适合作为博客系统的数据库。

一篇博客文章在数据库中大致需要这几个字段:

  • 标题
  • 创建/修改日期
  • 关键字
  • 浏览量
  • 正文

其中正文部分我是以Markdown的格式保存,前端读取时将Markdown字符串转为html代码展示出来就OK了,这里用到了一个开源的Markdown转html工具Editor.md


简单介绍就到这,未完待续~