站点搭建

-
-
2023-12-24

背景

每个编程的人,都想过写博客吧

 

关于为什么采用当前这种方式,等有时间了写一篇详细分析下,在博客平台写博客与自建博客站点的区别,自建站点的各种方案以及优缺点,本篇只记录本站搭建过程。

感谢

一直没有找到让自己特别满意的工具写博客,之前使用的是Hexo生成静态页面,文章中的图片是个麻烦事儿。直到看到东东分享的使用Trilium搭建博客,非常喜欢,也很适合现在的自己,就有了这个站点。

目前为止,站点都是基于东东分享的 Ankia 搭建完成,详细内容可直接看东东的博文:以trilium分享功能搭建个人博客

 

Trilium 搭建

Trilium介绍

官方介绍是: Build your personal knowledge base with Trilium Notes

其实就是一个自建的一个个人知识管理平台,可以当做个人笔记使用,除了支持主流的MarkDown格式,对其对于MarkDown的拓展,如思维导图这种的也支持。

项目主页:https://github.com/zadam/trilium 

安装

官方安装教程教程 本站直接采用基于 Docker 的方案安装。

docker pull zadam/trilium:0.60.4

# 启动服务
sudo docker run -d -p 127.0.0.1:{port}:8080 -v /path/to/data/trilium:/home/node/trilium-data zadam/trilium:0.60.4

服务配置

配置 nginx

server{
	server_name domain.pfchai.com;

	location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://localhost:{port};
        proxy_read_timeout 90s;
        proxy_redirect http://127.0.0.1:{port} https://domain.pfchai.com;
   }

}

启用 https 

参考 coolshell 的文章 如何免费的让网站启用HTTPS

# 自动配置
sudo certbot --nginx

# 重新加载服务
sudo nginx -s reload

博客搭建

现在完全基于东东分享的方式安装,详细的官方说明见:Trilium博客主题:Ankia 使用指南 

当前安装版本 V1.4

安装

下载配置

地址:https://github.com/dvai/Ankia-Theme/releases

 

按以下步骤将主题导入 trilium:

  1. 在你想存放博客的笔记下方右键
  2. 选择【Import into note】
  3. 在弹出的窗口中选择第一步中下载的 zip 包,将【Options】下的「Safe import」取消勾选
  4. 点击【Import】

配置

基础配置

博客的所有配置均以 trilium 属性的形式存在,在「我的博客"笔记中修改以下属性的值即可进行配置。

  • #siteName = xxx - 博客的名称,会在浏览器标签页和导航栏中显示
  • #shareDescription= xxx - 博客的简介,用于生成网页 meta 信息
  • #bloggerName = xxx - 博主的昵称,会在右侧博主信息中展示
  • #blogStartTime = xxx - 博客的开始时间,会在 footer 中显示博客运行时间
  • #motto = xxx - 座右铭,会在右侧博主信息中展示
  • #siteKeywords = xxx - 网站关键词】

 

域名修改

默认的博客地址是trilium地址 /share/ 目录下,跟笔记公用域名,修改博客域名。

设置 #shareRoot 为新的博客地址,比如本站为 https://blog.pfchai.com 

随后使用Nginx或caddy进行反向代理。caddy2,配置类似如下:

网址 {
  @notShare {
    not path /share*
  }
  rewrite @notShare /share{uri}
  reverse_proxy localhost:8080
}

Nginx的配置如下

server {
    server_name blog.pfchai.com;

    location / {
        rewrite ^(/share)?/(.*) /share/$2 break;
        proxy_pass http://localhost:{port};
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location ~ ^/share {
        proxy_pass http://localhost:{port};
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    # ssl 相关配置
}

 

建立博客分类

建立博客分类很简单,直接在「文章分类」笔记下方建立子笔记,然后在该笔记上赋予以下属性:

  • #categoryName = xxx - (必须)这个是用于「blogStateChange」脚本查找对应分类的名称,最好与分类标题保持一致
  • #shareAlias=category_xxx - (必须)xxx 的值请与categoryName 中填写的值保持一致
  • #sorted=date #sortDirection=desc - (非必须,但推荐)使博文按发表时间降序排列

评论功能

使用twikoo评论系统,进行配置前需要先部署,部署方法见:twikoo文档  ,部署完成后添加以下属性即可:

  • #enableTwikoo - 开启twikoo评论
  • #envId = xxx - twikoo的环境id

开启后在主面板会显示【最新评论】模块,如果不需要此功能,请在“我的博客”中添加#disableLatestCommentPane标签

PS.

#showComments - 在除博文之外的页面显示评论插件,比如在“关于”笔记中添加此标签,那么“关于”界面中就会出现评论系统,

博客使用

新建博文的流程:

  1. 右键任何你想存放博文的父笔记
  2. 在弹出的窗口上将鼠标移动到【Insert child note】
  3. 选择【博文模板】

 

站点优化

robots.txt

新建文章,设置属性标签:

  • #shareAlias=robots.txt 
  • #shareRaw
  • #shareHiddenFromTree
  • #blogItemOrder=999 

 

百度站长收录

访问 https://ziyuan.baidu.com/ 

文件验证,失败,待解决

 

google 收录

前往 https://search.google.com/ ,使用 DNS 验证网站成功。

 

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录