升级的原因是因为要回国呆一段时间,想装个wireguard 搞下VPN。但是wireguard的自动化脚本不支持旧版的ubuntu所以就开始着手升级。(话说18也是够老的了。。。)
升级前的准备
备份文件
tar -czvf wordpress_files_backup.tar.gz /var/www/htmlBash备份数据库
mysqldump -u user -p db > wordpress_db_backup.sqlBash1️⃣ 第一阶段:18.04 → 20.04
sudo do-release-upgradeBash执行上面指令直接完成升级
2️⃣ 第二阶段:20.04 → 22.04
sudo do-release-upgradeBash这次执行完之后报下面错误
ModuleNotFoundError: No module named 'apt_pkg'Bash似乎是系统在用手动安装的 Python(3.9)而apt 依赖系统 Python(3.8)
which python3
// output /usr/local/bin/python3Bash搜了一下Stackoverflow下面指令可以修复
sudo apt install --reinstall python3 python python3-minimal --fix-brokenBash但是chatgpt说即使这样可以运行,但因为路径不对以后会有隐患,所以还是把路径给修复了
sudo mv /usr/local/bin/python3 /usr/local/bin/python3.bakBash然后用下面代码执行了一下发现了另外一个错误
python3 -c "import apt_pkg"
//报错 /usr/local/bin/python3: No such file or directoryBashhash -rBash重新清理了一下bash的缓存就可以了
再次尝试 sudo do-release-upgrade出现下面错误
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.Bash所以必须提前把apt的package都更新一下
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -yBash再次尝试 sudo do-release-upgrade
这次总算成功升级了!
升级后需要reboot一下然后等待服务器重启完成后就可以继续ssh到VPS里了。升级后发现 WordPress 挂掉了,基本上升级就是会这样。。。现象为网站 500 / Service Unavailable
应该是服务器没问题但是后端php出了问题。
先确认 PHP和php fpm发现8.1的fpm不存在。
php -v
// PHP 8.1.2-1ubuntu2.23 (cli) (built: Jan 7 2026 08:37:41) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2-1ubuntu2.23, Copyright (c), by Zend Technologies
systemctl status php8.1-fpm
// Unit php8.1-fpm.service could not be found.Bash我们需要安装一下然后再起动
sudo apt install php8.1-fpm
sudo systemctl start php8.1-fpmBash安装后按照提示在apache2里启动它
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2Bash再次打开网站,WordPress 恢复正常
文章评论