用 Hugo 搭了一个自己的博客,顺手把部署过程记下来
这两天把自己的博客搭起来了,地址是 040012.xyz。 一开始的想法很简单:找个自己的地方,放学习笔记、项目复盘,还有一些平时折腾东西留下的记录。文章可以慢慢写,先把地方准备好。 最后选的是 Hugo + PaperMod + Nginx,在 Mac 上写文章、生成网页,再上传到 Ubuntu 服务器。域名和 HTTPS 也一起配好了。 过程不算复杂,但从“服务器本机能访问”到“别人打开域名也能访问”,中间还是踩了几个坑。趁着还记得,记录一下。 为什么最后选了 Hugo 我最先考虑的其实是服务器资源。 选型时,我是按 2 核、2 GB 内存的小服务器来考虑的,还想在上面部署自己的 Java 语音购物项目。如果博客再常驻一个后端、再加数据库,后面几个服务一起跑,内存就会比较紧。 这里也只是部署前的判断。我还没有做过博客和 Java 项目同时运行的负载测试,不能因为博客现在能打开,就说整台服务器能稳定承载多少人。 当时主要看了几种方案: 方案 我当时的考虑 WordPress 有网页后台,扩展也多,但我暂时只想写文章,不需要那么多功能 Halo 后台管理方便,但还要再运行一个 Java 服务,对当前服务器来说需要考虑内存余量 Typecho 如果一定要浏览器后台写文章,我会优先考虑它,PHP 加 SQLite 的组合也比较轻 Hexo 同样可以生成静态网页,主题选择丰富,也是合适的方案 Hugo 静态部署,PaperMod 的样子又刚好符合我想要的简洁风格,最后就选了它 我喜欢 Hugo 的地方是,生成完之后就是一堆 HTML、CSS 和 JavaScript 文件。服务器用 Nginx 把这些文件提供出去就行,不需要一直运行 Hugo,也不用为了博客单独维护数据库。 当然,这也有取舍。Hugo 没有自带一个让我登录进去发文章、拖拽装修页面的后台。文章要在电脑上写,发布时再生成和上传。常用设置改配置文件,更深的页面调整需要接触 CSS 和模板。 目前我主要想记录技术内容,这个写作方式可以接受。文章也能用 Typora 这类编辑器来写,不需要一直对着纯文本。 这套博客是怎么运行的 我一开始还把“服务器上部署 Hugo”和“服务器上一直运行 Hugo”混在了一起。实际用起来,分工很清楚: Mac 上写 Markdown ↓ Hugo 生成 public 文件夹 ↓ 上传到服务器 /var/www/html/ ↓ Nginx 提供网页,浏览器通过域名访问 本地的 hugo server 只是方便预览。正式网站已经上传到服务器,所以本地终端关掉、电脑关机,都不会让线上博客停止运行。 ...