好久不见,博客也很久没有更新了呢,三次元中的各种事情和学业, 以及自己越来越严重的拖延症,所以博客不知不觉就停止更新了

最最最开始的时候,用的是不知名厂商的虚拟主机,而且还是免费的域名记得是:https://silk-age.lu.mk/,那回是刚刚建站,只是秉着“能跑就行”的原则,直接在10M宽带1H2G的公共共享资源虚拟主机上跑动了WordPress+Sakura主题,结果可想而知,因为小厂刚起步的不稳定性和主机的物理上的各种问题,导致访问慢、加载慢甚至浏览卡顿以及各种玄学问题,可能是资源占用令虚拟主机遭不住,在初之音等大佬的帮助下,后来就把博客搬迁了,用的是阿里云轻量服务器,新加坡的,用的是typecho程序+VOID主题,typecho我是十分喜欢的,比WordPress快太多了,最新也更新到了1.20版本,也开始初步支持了PHP8.0+,遗憾的是VOID主题却一直没有更新,不支持PHP8.0+,不过这个主题的设计非常棒,佩服A大

重构

其实在忙碌之余还是会打开自己的博客,看着自己这些杂乱的文章,马虎的文笔以及网站各种没有修复的bug和没有美化的地方,还有长期乱七八糟图片的管理,迁移和重构其实是在所难免的。在服务器配置不变的情况下,将新加坡换到了香港,并且我抛弃了原来所有的文章,这次是全新的一次搭建过程,当然,原博客我依旧保留了,你可以访问bh.silkage.xyz来看看原来的黑历史吧()

我会尽可能的写清楚迁移的过程

连接到服务器

对于服务器、DNS、域名的基本概念和原理这里不阐述了,服务器和域名大家还是找大厂购买会好些,我的服务器和域名都是阿里云的,Ama­zon、腾讯云、阿里云、Google、VULTR太多太多了

在完成域名的DNS解析和绑定后,那么开始连接到服务器吧,我这里用的是FinalShell,当然,你也可以用XShell或者什么别的不过某些别的工具被曝出窃取用户服务器信息的绯闻。你可以创建一个秘钥连接,也可以直接用密码连接,连接成功后开始部署环境

基础的环境部署

如果不是root用户切换到root用户,我是Ubuntu20.04LTS系统

sudo su root

更新一下基础环境

apt update && apt upgrade -y

安装基础的软件,如果有了就不用装了

apt install -y wget git unzip curl

安装宝塔面板

之前我是一直用纯LNMP环境,无奈本人不精,不少次都搞奔溃了,在经历114514次烧脑的问题后,无奈投去宝塔的怀抱了

在安装之前大家可以看看官方教程

我这里是Ubuntu系统,所以直接输入

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

然后会提示确定安装,直接输入Y就可以开始安装了,大概两分钟后就可以用了

提示这个就是安装成功了,接下来进入后台

登入后台后会提示安装套件,直接选择最新版本的套件编译安装即可

大概把这些装完环境就配置好了

当然,你也可以安装LNMP这些

站点搭建

安装兰空图床(Lsky Pro)

首先我们要,添加域名到服务器

然后我们在/home/www,目录新建一个文件夹,这个文件夹未来要放你的图床程序文件

为了防止会出现的玄学问题,我们给文件夹赋权

chown www:www -R /home/www/img 

chmod 755 -R /home/www/img

登入你的phpmyadmin后台,记得用root账户登入,新建一个数据库,这是为图床准备的

由于兰空图床2.0对环境比较严格,我们需要安装PHP扩展打开指定的函数,详细参考官方文档

- PHP >= 8.0.2
- BCMath PHP 扩展
- Ctype PHP 扩展
- DOM PHP 拓展
- Fileinfo PHP 扩展
- JSON PHP 扩展
- Mbstring PHP 扩展
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
- Imagick 拓展
- exec、shell_exec 函数
- readlink、symlink 函数
- putenv、getenv 函数

按照文档要求,在面板PHP8.1中设置

接着禁用函数exec、shell_exec、readlink、symlink、putenv、getenv,PHP8.0开始默认这几个是关闭的但是在宝塔中需要手动删除

网站一栏点击新建站点,域名填图床的域名,我的叫i.silkage.cn,目录选择刚刚创建的图床目录,PHP版本务必选择8.1,数据库可以直接用root

然后在站点修改-伪静态中输入

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

兰空图床GitHub官网下载最新的版本,然后解压后上传到服务器你的图床目录并解压,然后回到网站设置,将运行目录改为/public,即可打开你的网页,开始安装

安装过程我就不演示了,数据库账户root,数据库名填你之前创建的就行,装好后大概就是这样的

至此,图床安装完毕

安装typecho

前提工作

typecho官网已经提到,安装typecho的几大前提是

PHP 7.2 以上
MySQL, PostgreSQL, SQLite 任意一种数据库支持,并在 PHP 中安装了相关扩展
CURL 扩展支持
mbstring 或 iconv 扩展支持

虽然看着很复杂,其实基本上这些前提都是已经配置安装好的,我们只需要在官网下载好最新的typecho程序,解压后会得到这样的一个文件夹

在宝塔面板新建一个站点,添加域名,数据库指向到root用户,指定网站目录,最后在phpMyAdmin,新建一个数据库,这是你的博客数据库

然后将typecho解压得到的文件全部拖到,你指定的网站目录中

接着打开域名,就会出现typecho引导程序

安装过程这里就不演示了和前面的兰空图床异曲同工,提示无法写入等信息,直接修改777权限即可,数据库账户root,数据库名填写你刚才新建的数据库名字

这样就是安装好了

简单美化

typecho基本设置

在typecho后台的设置—基本中,你可以设置你的站点名称,还有固定连接格式,把这些改成你的信息,除了网站首页显示,主要还可以被搜索引擎检索,被别人搜到

设置—永久链接中,可以自定义文章、独立页面、分类路径的设置还有地址重写,我使用的是自定义的比较简洁的链接设置/{slug}.html,然后打开地址重写,这样可以让网址更加简洁,简短
若地址重写功能无法开启,我们需要添加typecho伪静态规则

    if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php$1 last;
}

如果要安装主题,在博客根目录usr/themes中将主题文件解压上传即可,安装插件则要在/usr/plugins

评论默认头像无法加载

评论头像走的是Gravatar服务,这个服务在国内不太稳定,要想让头像顺利加载,需要替换原有链接,才能解决这个问题
在博客根目录中,打开/var/Typecho/Common.php这个文件,然后Ctrl+F搜索secure.gravatar.com,大概在836行左右

$url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
$url .= '/avatar/';

主要看到这两段代码,把第一行修改为极客族和V2EX的链接

$url = $isSecure ? 'https://sdn.geekzu.org/avatar/' : 'https://cdn.v2ex.com/gravatar/';

然后把第二行注释掉,保存,刷新,就可以了

后记

那么...就从头开始吧...

封面:夢 邦乔彦-Pixiv