使用 Docker 部署 Typecho 个人博客
我想要之后重装一下系统,准备先把 Typecho
给容器化,这样也方便我重装时迁移数据。查了查,感觉也不是很难。
我想要之后重装一下系统,准备先把 Typecho
给容器化,这样也方便我重装时迁移数据。查了查,感觉也不是很难。
我在国外有一个服务器,但是国内访问延迟太高。于是在国内买了一个新服务器,网站也都搬到了新服务器上。以前的服务器就没怎么用,
现在我决定把那个服务器配置上和现在服务器相同的环境来做一些测试用。
之前只有一个域名的时候,直接使用 Let's Encrypt 来申请证书很方便。现在二级域名多了起来之后就不想一个一个去申请证书。
突然想起之前看到李先生曾经设置过泛域名证书,准备照着这个方法来自己试一下。
直到现在,我写的全是关于网站的文章,在文章中有很多代码,不过因为我现在用的编辑器,并没有自带代码高亮,所以这些代码都是默认的样式,没有各种高亮,看起来并不好看和清晰。
所以我想去找找代码高亮的插件,搜索了一下,找到了一个利用 highlight.js 的 插件。
测试了一下效果,很满意。顺便去修改了一下前面文章的代码格式,这样就美观多了。
不过现在网站里使用的 highlight.js
脚本中并没有放入所有它支持的代码格式。只是选择了几种常用的,如果后面需要支持另外的代码格式,就更换新的 脚本。
从这篇文章 更新 EditorMD 起,我直接将 highlight.js
集成到了编辑器中,不再使用之前的那个插件。如果需要更新代码高亮,需要将新生成的 highlight.pack.js
文件,放入 EditorMD/lib
文件夹中。
升级 1.2.0
并使用官方镜像后,放弃了 EditorMD,转而使用默认的编辑器,配合 highlightjs 插件。
记录一下当前支持的代码格式。
2020/11/23 更新
10.4.0 版,常用 24 种变成了 37 种,Go,SCSS,YAML 成为了常用。然后我新添加了 Powershell。
2022/1/3
11.3.1 版,常用变成了 34 种。
2022/10/12
11.6.0 版,常用变成了 36 种。
突然发现,可以通过 IP 访问到网站,记得曾经在哪里看到这样并不好。所以去查了一下资料。
原来能通过IP访问会有域名恶意解析
的风险。(具体有什么危害我后面再来补充吧)
解决方法,可以在 nginx
中添加设置,让所有无法匹配的访问转跳到网站本来应该的域名上。
server
{
listen 80 default_server;
rewrite ^(.*) https://hehome.xyz permanent;
}
server
{
listen 443 ssl default_server;
rewrite ^(.*) https://hehome.xyz permanent;
}
经常的,我们会在发布文章之后去修改它,但是 Typecho
默认显示发布时间,而且我也不愿意在每次修改之后修改自己的发布时间,这样反而不好,所以就需要增加一个最后编辑时间。
Typecho
的默认后台地址是 admin
,为了增加安全性,我们准备将后台地址换成一个只有自己知道的名字。
更改方法只有两步,假设接下来要把后台地址改为 1551
:
config.inc.php
,将 define('__TYPECHO_ADMIN_DIR__', '/admin/');
修改为 define('__TYPECHO_ADMIN_DIR__', '/1551/');
admin
文件夹为 1551
到此,后台地址修改完成。但是,如果是默认主题的在侧面还会出现登陆按钮,指向的就是我们刚才修改的地址,那我们之前的做的就全白费了。
所以我们需要到外观里去修改默认主题的 sidebar.php
,删除 <ul class="widget-list">
后面的登陆相关的按钮,这样我们的网站后台网址就完全隐身了。
这样大概就可以使得我们的网站更加的安全。(不过应该也没人会来攻击我们吧ˊ_>ˋ)
网站建立好后就会很好奇,有没有什么人会误入此地,最开始找到了一个插件 Typecho Access,但是它使用的网站的数据库来存放数据,一旦时间长了,会产生很多的数据,加重服务器负担。
所以我就去网上搜索了一番,知道了两个知名的搜索引擎公司都提供有这样的服务:
配置很简单,只需要登陆注册,填写你的网站相关信息之后,它们会给你一个代码,你只需要把这个代码放到 header.php
中的 </head>
前,就可以使用它们提供的网站数据统计服务。
俗话说得好,没有备份的数据就不是重要数据。这个网站,凝聚着我们的心血,每篇文章都是我们一字一句打出来的。所以例行的备份自然就变得非常重要。