博客系统升级

自从博客在这里安家,系统层面就没怎么动过,一直是 Ubuntu 12.04 LTS 的版本,同时眼睁睁看着 PHP 一直更新,也没有做什么。PHP 7 发布以后,被宣传的性能提升拨弄的心痒痒,今日放胆,计划把这些基础设施升上来。

SSH 登录到主机后,执行 do-release-upgrade,把系统更新为 14.04 LTS 版本,升级到最后阶段 SSH 窗口冻结了很长一段时间,所有按键均不响应;过了一会儿才自行复苏,但提示升级过程出了些错误。reboot 重启,发现版本已经变化,但不知先前提示的错误究竟有哪些,只好先放下,执行 apt-get update 和 apt-get upgrade,后者执行过程中提示要执行 dpkg 来修复错误,于是照做,顺利过关。

再次 do-release-upgrade,无效;重试数次后突然想起有个兄弟曾提及有个 -d 参数,加上再执行果然有效。在升级过程中肉眼即可看到 PHP 7 被安装了。升级到 MySQL 5.7 时,又说发生了错误。重启,又一次地发现系统版本号已经成为 16.04。命令行下执行 mysql 检查数据库,没有任何异常。用浏览器测试首页,则出现 502 错误。感觉应该是 PHP 和 nginx 的配合被打破了。

去 /etc/php/7.0 下,发现根本没有 fpm 目录,联想起需要 apt install php7.0-fpm。成功后进入 fpm/pool.d 目录编辑 www.conf 文件。主要是两件事,一是把 user、group 以及 listen.owner、listen.group 改成正确的用户和组名(默认是 www-data,而我的是 nginx),二是把 listen 的 socket 名字记下来,然后将此名字写到 nginx 的站点配置文件中 php 相关 location 下的 fastcgi_pass 参数里(写在 unix: 之后)。然后 service php7.0-fpm reload,service nginx reload。

这时刷新首页,已经不见了 502,但是会说“看起来用于 PHP 的 MySQL 扩展没有安装”,于是 apt install php7.0-mysql,然后再次 service nginx reload,测试结果就 OK,见到了熟悉的张三太爷博客首页。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注