博客迁移记录&年度总结
从wordpress+阿里云迁移至typecho+zgocloud。并回望整个2025
博客迁移记录
这次博客迁移的直接原因就是服务器和原本的域名续费太贵了(QAQ),第三年域名续费+一年的服务器价格已经来到了四位数。再加上25年年末我又在hostHatch上搞了个3T的大盘鸡,穷学生的经济实力已经不允许我继续续费原本的服务器和域名了。当然还有一个原因是我发现wordpress中很多功能我是用不到的,因此从年中就一直想把博客从wordpress迁移到typecho。
服务器选用zgocloud是因为在国外换域名之后省的重新备案,同时其线路优化较好,国内访问稳定性也很高,虽然价格也没有很便宜(sad。我选择的AMD EPYC 7003 Series, China Optimised, 9929&CMIN2,2c3g每季度24刀,一个月也要将近60rmb。不过好在新换的域名十年只要240折算一下每年开支也小了不少(大概。不过只用typecho的话不需要买配置这么高的服务器,同型号的1c1g年付25刀,拿来搭建typecho绰绰有余。
typecho安装
安装typecho的过程体感上比起wordpress轻松了不少,也可能是因为我选用的数据库是SQlite所以不用在命令行中对数据库进行配置。
typecho官网列出了安装所需的最低环境配置
PHP 7.2以上
Mysql, PostgreSQL, SQLite 任意一种数据库支持,并在PHP中安装了相关扩展
CURL或者Socket扩展支持
mbstring或者iconv扩展支持
根据所需环境直接安装即可
# 安装PHP-CLI, PHP-CURL, PHP-MBSTRING, SQlite, PHP-FPM
sudo apt install -y php-cli php-common php-curl php-mbstring php-sqlite3 php-fpm
安装完成后新建typecho的安装文件夹,我这里直接新建在了根目录/typecho。新建完成后进入对应目录执行
wegt https://github.com/typecho/typecho/releases/latest/download/typecho.zip
# 解压压缩包
unzip typecho.zip
rm typecho.zip
解压完成后就可以看到typecho的文件,接下来配置反向代理。如果没有安装nginx这里需要先安装nginx
apt install -y nginx
安装完成后进入/etc/nginx目录下,而后编辑nginx.conf。将下面的内容复制进去
server {
listen 80;
server_name test.com; # 替换为你的域名或IP
root /var/www/typecho;
index index.php;
# Typecho 伪静态设置
location / {
try_files $uri $uri/ /index.php?$args;
}
# 处理 PHP 脚本
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# 注意:这里的版本号必须与你安装的 PHP 版本一致, 使用php -v查看版本号
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 禁止访问 .db 文件(保护 SQLite 数据库)
location ~ \.db$ {
deny all;
}
# 禁止访问隐藏文件
location ~ /\. {
deny all;
}
}
如果要启用https,就将上面部分的listen 80改为listen 443 ssl,而后在server块中追加
# SSL 证书路径(请替换为你自己的证书实际路径)
ssl_certificate /your/certificate/path/test.com.pem;
ssl_certificate_key /your/certificate/path/test.com.pem;
#此外为了实现http请求重定向至https,需要在server块以外追加
server {
listen 80;
server_name test.com; #替换为你的域名
return 301 https://$host$request_uri;
}
需要将这里的路径替换为证书的实际路径。证书可在阿里云免费签发(虽然有效期只有90天),签发后下载nginx版本的证书然后用ftp传到指定目录即可。
而后修改一下权限。
sudo chown -R www-data:www-data /your/typecho/path
sudo chmod -R 755 /your/typecho/path
到这里就可以通过域名访问到安装页面了,如果使用的是SQlite的话安装页面配置会十分简单,甚至可以直接点击下一步,在这里就不赘述了(才不是因为我没截图。
接下来就是对typecho本身的一些配置。因为我很喜欢typecho的默认主题因此我没更换主题。同时为了保证足够精简我也没有安装markdown编辑器,而是采用typora写markdown转HTML的方法。这样还可以写一些内联样式来完成markdown比较难实现的两栏布局。因此这一方面的内容建议参考其他博客。
但是默认主题有两个缺陷,一是没有友链页面,二是没有wordpress的媒体文件管理功能。前者因为还没和别人互换友链因此就先放着(才不是因为我懒)。后者可以用外部图床解决但感觉总是不太靠谱,因此我用nginx反代了一个文件服务来提供对应的功能。具体配置如下
#在上面的反向代理文件中追加
location /media/ {
alias /your/img/path/;
# 只允许 GET (下载/查看) 和 HEAD (获取元数据)
limit_except GET HEAD {
deny all;
}
sendfile on;
tcp_nopush on;
expires 30d;
add_header Cache-Control "public, no-transform";
server_tokens off;
access_log off;
try_files $uri =404;
}
这样只需要使用ftp上传到对应的文件夹就可以使用test.com/media/imgname.ext进行访问了。
此外还需要在设置外观 => 编辑当前外观 => header.php的head块中追加下面的命令来配置网站的favicon图标
<link rel="shortcut icon" href="test.com/media/favicon.ext" type="image/x-icon">
到这里就完成了基本的配置,之后还没通过修改对应的CSS文件来完成界面样式的自定义,比如我就把超链接的文字颜色改成了符合黍姐人设的深绿色。
2025年度总结
2025年对我来说基本上是停滞的一年,除了3月发了一篇关于Avemujica的文章之后就再也没写过其他文章,包括季度新番总评。原因是剩下的时间我都在和考研数学搏斗。
2025年全年有一大半的时间都在备战考研,前半年基本上日均在8h+,暑假的两个月更是从睁眼学到闭眼(两个月学完了数学强化专业课一轮与08-20的英一真题还有马原基础知识,顺便刷了1000b组,之后去了学校也基本从早到晚泡在自习室。做题区。。。蠕动。。。隐忍。。。
好在最后结果应该不错,希望四月份我能如愿拿到通知书。
不过尽管这么忙我也还是忙里偷闲搞了一些奇怪的支线项目。除开固定的每季度20+新番和玩了一整年的樱花萌放以外,2025主要的支线项目有两个:影之诗TCG与动画资讯站。
影之诗TCG全名是影之诗进化对决,简称sve。我玩的时候主要是偶像弹,用Passion在城市赛靠狗运拿到了4胜2负的成绩,对于新人来说还算不错罢。之后的版本玩了自然妖与护肤教,再然后因为卡价太贵就逐渐退坑了。
动画资讯站是我在退坑后搞的另一个支线项目,起因是因为在用yuc的时候觉得yuc对手机的适配较差且没有我比较关注的OP/ED信息,正好心中一直有一个程序员的梦,就在国庆的时候靠着自己高中摸鱼的时候积攒的一点前端知识以及面向搜索引擎编程赶出了第一个版本。这个版本十分的草率,主体是一个静态网页,动画数据存储在json里面,通过fetch命令发送请求然后解析json,最后通过模版字符串修改对应位置的innerHTML来实时更新数据。
但是这种方式下数据的维护纯靠json,更新全靠ftp上传文件,十分的坐牢。因此考完之后我决定重构一下,加入数据库对数据进行处理。后端使用nodejs。
在这次重构的过程中我还是没有采用正规的数据库,因为在我的认知里数据库是一个无论维护还是备份都十分困难的东西,而且也十分吃资源。不符合我想要实现的轻量化低占用的目标。于是我使用了lowdb来实现json作为数据库的一系列功能。但是lowdb的默认json预设采用的是异步的方式,因此我需要采用大量async await以及添加大量的then方法,这对我薄弱的JS基础提出了十分巨大的挑战。同时,lowdb的性能要求也让我没办法放心的将所有动画塞到一个文件中然后用filter或者find方法定位,因此我不得不将每个季度分散到不同的json文件中。但是这样在设计前瞻页这种需要移动数据的功能中就遇到了困难,代码也变得臃肿不堪。
不过秉持着能跑就行的屎山思维,好歹是做出来了,测试了之后也不是不能用。但是就在前几天博客迁移的过程中我发现了SQlite也是将数据存储在本地文件中且性能较好,同时better-sqlite3也是采用的同步api进行的交互。这下可以说是瞌睡碰到枕头了,于是这个小屎山还没上线就开始重构了。
2025所做的事情基本就是这些了,体验了TCG,实现了自己小时候的程序员梦以及继续看动画和玩旮旯给木。虽然体验TCG的结果是不玩TCG,实现程序员梦的结果是放弃成为程序员。但是这样折腾一下不也挺好的。
2026的话希望我可以将资讯站项目稳定运行下去,然后学会日语以及继续看动画。希望26年末的我能够实现这些目标。