自打Wordpress升级至6之后,每次进入后台仪表板,wp就在首页最上方的突出位置显示我的php版本低了,建议升级至7.4以上。
昨天晚上终于强迫症爆发,忍不住了,于晚上8点多,手贱开启了PHP升级之旅。。。
首先,思路是通过lnmp自带的升级脚本升级。我的lnmp安装的比较早,是20年左右装的1.6版本。没想升级用lnmp1.6自带的升级脚本升php之后,不仅没有升级成功, 反而连原先版本的php都不能用了。访问网站直接报502错误。崩溃!
我迅速理清思路,想着手工来安装PHP7.4,于是从php官网上down下来7.4安装包,开始按照网上各类php升级方法的文章进行升级,没想在第一步编译检测安装环境的./configure步骤,就各种报错。后面make编译环节更是各种走不通。反复尝试各种问题解决方案,均无果告终。
此时时间已经经过了两个小时来到了10点40分。我心里已经一千万个后悔不已,为什么要手贱去升级,本来好好的网站,就因为一个wp的无关紧要的升级提示,被我搞整来整去两个多小时,不仅每升好,还把站点搞崩了!而且此时,我还没有下一步怎么处理的思路!我心态真是崩了。
但时间已经至此,按照我生物钟,就算搞不好也必需要睡了。只能明天一早再战。就这样满心愤懑的睡下了。
到第二天凌晨5点多,自然醒来,虽然今天还是周日,但我无心再睡,爬起来就开始继续整,同时心里又骂了自己无数遍手贱。。。
按照昨天晚上睡下时想的解决思路,我准备重新安装整个lnmp了。相当于把原有的站点、数据库、程序等都全部铲掉,再全部重新安装部署。想想就是浩大工程,好好的周日,就算这样交待出去了。
想好就干,先是开始导出数据库,打包站点,打包配置问卷,打包程序文件。。。好在我基本的备份意识还在,把服务上能够用到的东西都一通备份搞了一遍。然后是把备份文件下载下来。到这一步,又傻眼了。服务器是1M带宽,下载速度只有100k,我的一个备份站点文件打包后有900多M。这下载速度,等下载好都要下午了。。。没办法,又临时到阿里云上上调了带宽,花了几十大洋。。与此同时,我还备份了一个磁盘镜像,想着万一重装lnmp搞不通,还能用镜像恢复下。
带宽升级好,没一会备份就都下载好了。然后停服务器,重新初始化云盘。。。
重新初始化好之后,再登录到服务器上,一切都还原了,服务器上干净如洗,空空如也。。。事已至此,只能硬着头皮重新开搞了。首先安装lnmp。lnmp目前官网上已经更新到了1.9版本,为了保险期间,我选择了第一个版本的1.8安装。下载好,开启熟悉的lnmp安装过程,选择好mysql和php的安装版本(mysql版本选择5.7,php版本选择7.4),然后我就去搞早饭了。此时时间已经过去了两个多小时,已接近8点。
lnmp过程很漫长,主要时间是在mysql和php的编译安装过程。过了好一会,再看lnmp安装结果,竟然也安装失败了!具体看,nginx和php都安装成功,是mysql安装失败。难道是lnmp1.8在我的服务器上也不能支持?
带着怀疑,进一步降级,下载了lnmp1.7重新安装,此时mysql版本选择了默认的5.5版本,php依然选择7.4版本。而这一次,安装终于成功了。。。
后面就是恢复数据库,恢复站点文件,恢复配置文件等等, 这一路恢复还算顺利,没多久网点和程序都重新部署好,并能够正常运行了。
至此,时间已经来到了中午,整整一个半个晚上+一个上午+几十大洋,而且中间过程充满了坎坷曲折惊险惊吓意外。。。 终于把PHP升级到7.4升级好,也算聊以安慰。
回想此次痛苦过程,总结有以下几个经验教训,供以后借鉴避免:
1. 升级环境基础软件,不像升级wordpress,要把服务器做镜像备份,以防环境基础软件升级失败,可以整体恢复镜像。
2. 使用lnmp自带的升级工具升级时,要留意时间跨度,用过于久远的升级脚本安装最新的版本软件,很可能是会有问题的。
3. 升级基础软件,更保险的方式是整体升级lnmp。重新安装lnmp,再恢复站点,其实步骤正确的话,还是比较顺利比较快的。就是需要注意做好站点、数据库和nginx配置文件的备份就好。升级基础软件,更保险的方式是整体升级lnmp。
4. lnmp版本的选择,还是要根据自己的服务器系统版本和系统资源来。就像我的服务器是centos7.2,选者lnmp1.7就可以了,再高可能就有问题。
5. 什么样的机器,就跑什么样的软件。像我这个1核cpu,1G内存,就不要想安装最新版本的软件了。像mysql8.0版本,直接拒绝在1G内存环境下安装。就像一个老手机,安装最新版本的操作系统是会很卡了,还是乖乖用老版本就好,不到万不得已,不要没事升级超基础软件了。
痛苦经历,收获了不少经验教训,好在最后也是一个happy ending。作此记录,供日后品鉴。
文章评论