今天是个值得庆祝的日子,因为又折腾了一轮迁移,为啥我就这么闲呢?是因为新冠吗?不不,虽然新冠逼得我不得不在家办公,但是工作上的事情还是非常多的,我这次迁移也是忙里偷闲,用自己的业余时间拼老命折腾的,每天晚上折腾的老眼昏花,痛苦的不得了,绝对不是闲的无聊开始瞎折腾,哈哈。。细节让我慢慢道来。
事情的起因是因为Let's Encrypt的免费证书服务,我上次迁移的时候偷懒直接用了Vultr的Wordpress镜像模板,那个模板里跑的CentOS 6,那次是因为从Dreamhost共享服务迁移到Vultr的VPC,所以关注的地方比较多,就不想再折腾这边操作系统的细节, 当时最新的是CentOS 7,所以觉得差的不多,就直接用了, 通过Migration Guru迁移之后,就直接申请了Let's Encrypt的免费证书,一切完美,但是上次证书更新到2019年12月,后来发现无法更新了,跑到服务器上一看错误是Python的版本不对,一定要求Python 3.5以上的,这就头疼了。
CentOS当时的Python的版本是2.7x,然后我就搜索了一下谷歌,发现很多人有这个问题,都是通过各种诡异的方法更新Python,或者手动安装Python 3.x的版本,我就按照各种文章开始更新,这一个更新就让自己进入了一个死循环,俗话的那种依赖黑洞,就是说你更新A,A说需要B和C,C需要D,D需要A的另一个版本,搞了2,3天终于装上Python 3.4,可是还是不行,后来又找了一下,发现时Certbot的版本0.40.0的bug,说是在0.40.2里已经修复了,那就升级Certbot吧,升级了可以运行了,但是执行renew 证书的时候继续报错,看了错误日志,就是说某个语句出了exception,网上也没人说为什么,这问题还是要解决啊,否则网站就被谷歌认为是不安全的了,加上跑了一段时间的CentOS 6的版本已经比较老了,干脆换一个新的吧。
说换就换,这次换肯定要按照自己的心意来,不能再用Vultr预制的Wordpress镜像了(这其实被打脸了),当时就直接生产了一台CentOS 8的虚拟机,挂上IP之后,SSH上去开始装那套经典的apache, 当时犹豫了一下是不是用Nginx,不过觉得Apache还是熟悉,继续挂上MariaDB和PHP之后就开始安装,一切顺利,Wordpress装好,就准备迁移,这次迁移还是继续Migration Guru吧,装好,迁移,结束之后,当我开始准备逐步细调的时候发现系统总死机,先是数据库没反应了,然后就是SSH也死了,后来我就开机先上去看资源,发现几个页面还没刷呢,1G的内存居然就剩几十M了,晕死,这个CentOS 8怎么跟Windows一样,Linux的短小精悍呢??试着优化了一下,无果,加之这次迁移也是问题多多(Migration Guru迁移完成导致所有非首页的链接都不工作了),最终绝望放弃。
想着是不是开个CentOS 7 + Nginx试试呢,突然发现Wordpress的镜像居然不是CentOS base的了,而是 Ubuntu,听说这个分发已经很久了,但一直没用过,这也许是个机会用一下,而且通常这类镜像都会搞定很多细小的调整和附带工具,算了,就它了,挂好机器,这次怕又出现内存的问题,干脆直接上了2G的内存,这样就应该没问题了,机器起来之后,嘿嘿,还真给了我不少惊喜,这个镜像里居然有PhpMyadmin,XHProf 和Cockpit,这减轻了我很多自己加装工具来设置的时间啊,毕竟要真没有我还要自己架设,嘿嘿,设置好之后一用还都很好用,那就开始迁移吧!
有了之前的教训,必须不能用这些垃圾的Wordpress迁移Plugin了,都是为了骗钱,干脆自己手工来吧,为了保险起见,还真找了篇文章做指导:https://www.wpexplorer.com/migrating-wordpress-website/,仔细看了一下我需要做的不就是迁移个数据和wp-content里的文件吗,多大点事啊,开始迁移数据库,然后把之前库里不同前缀的表删掉,然后开始上传下载的文件,也就100多M,上传完一开主页,居然不显示,打开调试工具,发现plugins里的文件都是调用错误,好吧,忘记换owner和groups了,爬上SSH,换掉所有上传文件的owner和groups,完美,一切都回来了,这时候发现证书是invalid的,赶紧一看安装的组件,居然有Certbot,那就跑一遍吧,这次顺利的不得了,一次搞定,哇塞,网站完美回归,这么大的事情值得纪念一下,就有了这篇啰嗦的流水废话,哈哈,大家将就着看看吧。
不过这次既然动手了,可能明后天还会折腾一下CDH,毕竟IP总有潜在的风险被封锁和阻断,很讨厌。。
文章评论