该升级了

从2015年接触Linux到现在已经是第十个年头了,服务器的配置一直是2C1G的LowEnd小鸡。

随着知识水平的提升,服务器上面的业务也越来越多,原来的1G内存经常爆炸,每隔几天就得去VPS面板上手动强制重启,系统也是三年前装的AlmaLinux 8,大毛病没有,小问题也是倒是一堆一堆的。

Office 365 E5订阅翻车之后,邮件服务只能拿回腾讯企业邮,但是现在腾讯企业邮已经被整合进企业微信,每个子账号都必须绑定一个个人微信肯定是不现实,而且只能绑定5个别名,太麻烦了。

于是打算自己搭建域名邮箱,趁着这次机会,一并把服务器配置、系统和各种依赖版本都升级一下,因为小鸡上业务太多了,不一定什么时候再动一次。

这次直接升级到了Sakura VPS的4G计划,扩容了400G的SSD,东京机房月付3960日元,不到两百一个月。

毕竟不是穷学生了。


既然追求刺激,那就贯彻到底。

CentOS挂了之后一直用的是AlmaLinux,也早就知道RHEL已经在今年五月的时候发布10.0了,那么这次直接一步到底,安装AlmaLinux 10。

既然配置足够,那么依赖的版本也不能基础,这次选用了宝塔面板+Nginx 1.28+MariaDB 11.3+PHP 8.3(之所以没有用8.4是因为宝塔还有Bug)。


当然是做了前期准备的

虽然提前开过一台2C4G的Vultr来做试验,但在实际配置的过程中还是发生了一些预料之外的问题。

安装宝塔pip报错

不知道为什么,宝塔有时候会把pip的源改成阿里的,国内的VPS还好,国外的就Duck不必了。

只需修改/root/.pip/pip.conf里的默认源地址即可:

[global]
index-url = https://pypi.org/simple

[install]
trusted-host = pypi.org

保存就行了。

宝塔面板开机不启动

因为他不会开机自启了。

systemctl enable bt

另外可能是RHEL新特性,需要等待网络就绪后才会继续启动服务,如果开机等不起网络就绪的可以把NetworkManager-wait-online.service关掉。

sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl mask NetworkManager-wait-online.service

chkconfig安装失败

把/etc/init.d先重命名改成别的,装完了再改回来。

kdump关了之后还是占用内存

又不是独立服务器,没那么大内存,没必要保留那几百兆内存用来dump崩溃分析。

以前把kdump关了再改下grub就行,之前写过这个问题,但是现在操作完了之后还是不行,因为有别的比grub优先级更高的东西。

sudo grubby --info=ALL
sudo grubby --update-kernel=ALL --remove-args="crashkernel"

一把梭,完事。

宝塔安装MySQL/MariaDB失败

仔细看了下,有报错:

libmariadb/CMakeFiles/client_ed25519.dir/libmariadb/secure/openssl_crypt.c.o
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[ 4%] Linking CXX executable gen_lex_token
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[ 4%] Linking C shared module client_ed25519.so
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[ 4%] Built target gen_lex_token
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[ 4%] Built target client_ed25519
make: *** [Makefile:166: all] Error 2
========================================================
AlmaLinux release 10.0 (Purple Lion)
Bit:64 Mem:3653M Core:4 gcc:14.2.1 cmake:3.30.5
Linux 6.12.0-55.9.1.el10_0.x86_64 x86_64
ERROR: mysql mariadb_11.3 installation failed.

因为语言环境设置问题导致的编译失败,

dnf install glibc-langpack-en

直接装,装完编辑/etc/locale.conf:

LANG="en_US.UTF-8"

加上这么一行就行了。

控制台疯狂输出systemd-sysv-generator:Please update package to include a native systemd unit file

(摊手)有的东西继续使用SysVinit脚本,我也没办法。

只能去/etc/init.d/找对应的文件然后改成systemd service。

如果实在不想看也可以屏蔽日志。

vi /etc/rsyslog.d//etc/rsyslog.d
if $programname == 'systemd-sysv-generator' then stop
:wq
sudo systemctl restart rsyslog.service

只能这样了。


齐活


经典环节

虽然不是什么新歌了,但还是很好听。