这几年因为一直在经营微信公众号,博客有点荒废了,但始终没有放弃掉。每年春节前后都是云主机服务器续费的时候,而恰逢寒假比较有空,所以每到寒假总会把博客打理一下,折腾折腾。

去年用的服务器是腾讯云的标准型SA1服务器,1核2GB50GB1Mbps,因为是以新用户的身份第一年买,所以价格相当实惠。而今年准备续费时,却发现价格高得离谱。原本想着换个手机号重新注册新用户,但却意外发现腾讯云今年出了新的产品——轻量应用服务器,因为是新产品,我就可以享受产品首单特惠,于是果断入手,1核1GB40GB3Mbps最多可以买3年,每年90元,购买3年优惠下来共268元,简直太实惠了。而且春节期间又推出了实例免费升级套餐活动,直接升级成了1核2G60GB5Mbps。

购买之后首先是数据迁移。轻量应用服务器有个好处是可以直接部署如宝塔、wordpress等各种应用镜像。因为我之前用的就是宝塔Linux面板,所以在轻量应用服务器上直接安装了宝塔面板。然后利用宝塔一键迁移API版本,直接将原网站所有数据迁移到新服务即可,简单快捷。

接下来又是连续几天折腾,完成了以下任务。

一是ftp调试成功。宝塔面板里已经安装了Pure-Ftpd,“FTP”设置里也添加好了用户名和密码,但每次用FileZilla都无法正常连接。经过反复排查,发现是相对应的端口没有开放。具体做法是既要在宝塔面板的“安全”设置里放行21端口以及39000-40000端口,又必须要在腾讯云轻量应用服务器的管理页面的“防火墙”设置里放行这两个端口。

二是解决了wordpress频繁出现数据库连接出错以至博客无法访问的问题。经排查,主要原因是服务器配置太低、内存有限,所以数据库进程就中断了。解决办法是在宝塔面板里安装linux工具箱,设置swap/虚拟内存,建议swap容量在真实内存容量的1.5倍左右。

三是修改了博客的固定链接。之前博客用的固定链接结构是https://japhia.cn/%year%/%postname%/,也就是年份加文章名。但现在挺后悔的,随着博文的日益增多,年份出现在链接里相当于告诉读者和搜索引擎,这是一篇N年前发的很旧的文章。所以我想直接改成https://japhia.cn/%postname%/。围绕修改固定链接,又折腾了以下几件事。

1.当我在wordpress的固定链接设置里直接改成域名+文章名的结构后,一切都很正常。但我发现自己还没有准备好301重定向和向搜索引擎提交网站改版,想先回到旧链接结构时却发现,只要设置成之前的链接结构,除了主页能正常打开外,所有文章页全部显示404错误无法访问了。因我使用的是Nginx服务器,网上有教程说只要设置好伪静态就可以。但是我在宝塔面板的伪静态里选择了wordpress的伪静态规则后却无法保存,提示nginx: [emerg] duplicate location "/" in /www/server/panel/vhost/nginx/japhia.cn.conf:66;nginx: configuration file /www/server/nginx/conf/nginx.conf test failed。大致就是location的命令在nginx的配置文件中已经存在了。我又尝试了直接修改nginx.conf.文件,但依然没有效果。由于没有及时做好网站数据的备份,只能硬着头皮直接使用新链接结构了。通过这次折腾,我才体会到了Apache的好处,rewrite比Nginx要强大很多。

2.完成了修改固定链接后的新旧链接301重定向。关于修改固定链接后的重定向,很多教程里都推荐使用wordpress的WP Permalinks Migration插件,但我安装后却没有任何效果,不知道是什么原因。在经过多番不同方法尝试均无解后,我使用了最简单的笨办法。先用wordpress的Export All URLs插件导出博客中所有文章的链接(分别用旧链接格式和新链接格式导出一次,用CSV格式),然后用wordpress的Redirections插件,批量导入新旧链接实现301重定向(可以先点击Export redirect导出博客现有的301重定向CSV格式文件,然后用Excel打开后修改成自己博客需要重定向的所有文章链接,source URL和target URL一一对应即可)。

3.在百度搜索资源平台“网站改版”中提交了这次修改前后链接的变化。但由于博客旧链接的特殊形式,没法使用正则表达式表达,我只能选择“新旧URL对”来提交,但由于并非所有博文都被百度收录,在提交URL对时,总是出现旧链接无法找到的情况,处理状态总是会显示成:部分改版中。我只能反复将系统列举的有问题的链接去掉后再提交。

其实在这期间还测试了几款新主题,但折腾了一番后发现还是现在使用的主题最满意,就继续用它吧!