我这种吹毛求疵完美主义真是没谁了。回头看来,真得佩服自己的勇气及决心,整个过程好比重走了一遍长征路。先说结论:Linux的操作已日臻完善,网页的后台还需提高。
上一个ECS FINAL2022突破的时间是当年9月份,感觉很完美,基本不用大变,除了经常手贱去Themeforest升级了最新主题以期修复表格Bug外,两眼一闭开始躺平。
2024双十一,看到了阿里云的99上车新闻,刚开始还嗤之以鼻,一分钱一分货嘛。但后来又陷入到翻其究竟的过程中。这次的性能如何,我买的性能如何?性价比如何?在2024年年底杭州行的时候,既然来到云栖的老家么。。。Toss the apartment. 通过bench.sh查了一下基础的分数,以及搜了相关对比,发现跑分看不出任何变化,但最大的区别就是CPU由单核变双核,简单说就是升级降价。再看一下原来的共享型S6也能退回点添头,马上下定决心开始搬家。回到广州,2024年最后一天,购入99服务器,希望能长长久久。
都是同配置虚拟机,搬家其实很容易,类似楼下搬到楼上相同户型相同公装的房间内,猜测通过快照与释放自定义镜像就可以,后续只需要调整门牌号、地址等就可以完美移植。考虑到CentOS已成绝唱,整个系统面临过时,既然升级了一核,就要跟上节奏顺势而为。所以计划以2024年底的最新系统及应用为基础来搭建平台。更重要的是,想看看两三年来技术进步了多少,看看自己能否同步进步。
Ubuntu是相对熟悉的系统,从09/10年开始第一次接触,版本是9.10(09年10月),通过Live CD写入U盘体验了一把,最大的优势是免安装直接Live,而且对老电脑友好,紫黄色的UI非常贵气逼人,与同期新出的WIN7绝代双骄。2013年左右有次用它进入NAS抢救文件,成功执行拯救蓝盘行动。2023年折腾网络打印,虽脱去华丽外衣,但完美地承担了打印服务器重任。本次移植选则最新+最稳定的24.04LTS,为让系统听懂指令,首先要从Linux的命令开始入手。先带来的好消息是Ubuntu与CentOS7高度接近:
1、使用apt替换yum,
2、Systemctl命令及service系统文件并无二致。
1、开发库扩展包(dev包)的筛选
第一步与前作一样,补充各种开发库扩展包。yum可以通过apt简单替换,但之后的内容就有些变化了,devel变成了dev,名称也由Library引入。既然选择重来,就要追求极致,通过安装NMP记录每个缺失的包,没提示的一律不装,确保没有Monkey Business。最终步骤与前作一脉相承,除了autoconf与pkgconfig要完整安装外,其他的库文件用一条-y命令按部就班即可。
2、NginX的模块module的筛选
很多的应用程序都通过模块来实现各种各样的功能,这样的高度定制化对我来说最大的优点就是按需拿取量力而行,所以跟dev包的筛选一样,必须精挑细选,多余会导致不必要的系统开销,一个都不能要。这里面有3个筛选原则:
1、Wordpress官网的手册指引,因为一切都为wordpress服务,所以优先级最高。如PHP。
2、软件的官方安装指南,如Building from Sources。如Redis、Imagemagick、Mysql\MariaDB。
3、通过搜索引擎查到的,中文为主的个人理解读,如NginX、Mysql。
在Nginx中,模块虽然不多,但解释相对复杂,果断选择搜到的CSDN个人解读。通过中文解读,更确定了许多模块都是为高负载大压力而设,即使平时用不上也会占用内存处理,不理解的一律宁缺毋滥。
除了模块,接下来就是config设置。经查本作没有新的规则,上作的设置文件工作良好,我只在1st的文件加了一个30M文件的上限,其他不变。
3、数据库配置
缺少libaio,这是因为最新的Ubuntu库已升到64位,而Mysql需要的是旧版32位的文件(名),那就使出ln大法制作一个软连接欺骗一下愚蠢的Mysql。
这里的重头戏属于config设置——my.cnf。从安装包的大小就能看出,数据库就是个巨无霸的存在,他的功能最强大,配置文件也相对来说更为复杂。恶心的是网上查不到很权威的解读,更恶心的是我连上作的mycnf依据都找不到了,最恶心的还有不提供default文件了,数百个参数该怎么填写呢?所以我只能穷搜一切可能的文献,包括了:
1、Mysql文档;
2、MariaDB文档;
3、Mysql+wordpress;
4、中文设置解读
其实在5.7之后,默认值就固化在软件内部了,我曾指望过传说中的自动配置器,确实事无巨细,但过于复杂,适用大系统的调优,不适合小卡拉米。最后通过查手册得出默认值+2012年开发者大会的建议值+前作5.7的mycnf+中文说明解读,确定以不变应万变。

4、PHP的模块筛选
编译安装时就需要附带一堆的with甚至without参数来选配模块。在上作的安装流程表中就有关于此的官方建议,但当时只用于粗筛,并无逐一深究。这次以此按图索骥,经过反复重装验证出最佳方案。期间出过两次重大问题:
1、试mak install PHP时,中途固定位置报错,经查是内存不足导致。。。为五斗米折腰,动用虚拟内存解决。这一步其实是整个移植的第一步,极其重要,通过此了解了系统的分区情况、内存调用机制、起动情况等底层逻辑。swap名声远播,以往一遇到分区就能遇到它。分区给swap交换空间简单,但不能过关,我就在想如何能确保分区Enable呢?搜了一圈果然发现了它的隐藏开关——priority级别,要把优先级的权重调高才行,否则永远用不了硬盘上的交换空间。
2、这次知道了各模块的作用,其中有个
一条P处理命令,避免了SFTP与Terminal之间来回切换操作
升级项6:图像处理内核从GD更换为ImageMagic。上文说到从WP的官网看到建议的PHP扩展,
优化命令行,特别是通过CP上传文件执行,告别一会命令行一会切换打Sftp界面(这方面termius特别不方便,没有多窗口画面,文件也没有图标区分,光为了好看统一色调,导致容易误操作),只需一次传输即可
OSS及W3TC插件的兼容
互换域名,开始左右手倒腾备份
CSS更改
通过反复对比,发现部分的块太过靠下(对比IP地址哈)
CSS/PHP/JQuery
并没有沉浸在胜利中太多的 ,经过细致对比,发现摘要字数跟DEMO不同,查看分析得出是HEIGHT属性问题,之前以为是断句啥的
最后,在小新平板上看到块还是靠下,通过三方对比,发现我=官网DEMO<Themeforest Demo,无数匹马在心中奔腾。最后的最后,发现不同浏览器的显示也不尽相同,于是拉倒
就在写上面Ubuntu一段时,突然想到CentOS可能是节省内存的重要原因,一番搜索,MD又让Debian插了一脚,再进行一番搜索,就只有方向没有结论了。哎,只能靠自己亲自动手了。
total used free shared buff/cache available
Mem: 1.7G 330M 70M 21M 1.3G 1.2G
total used free shared buff/cache available
Mem: 1.6Gi 979Mi 101Mi 43Mi 817Mi 697Mi