点击
搜索 / Search

升级系统一直都是项大工程。鉴于 Ubuntu Server 一贯的尿性,新 LTS 分支出来之后晾上一年半载的再更新,对自己的心理健康有着莫大的益处。当然就算这样还是免不了要踩坑。

准备工作还是备份,不管是配置还是用户生成内容。然后按正常流程do-release-upgrade,看情况保留旧配置(建议全翻新)。接下来就是恢复生产环境的事情了。

apache2开始。在 18.04 中的 apache2 终于不用再手工添加 http2 模块了,所以也免了从 dev 源拉源码然后自己编译的步骤,但是在启用 http2 之前,还是需要进行设置。首先你不能在 prefork 模式下启用 http2,所以 apache2 要以 event 模式启动,并且启用proxy_fcgi配合php7.2-fpm使用。所以赶紧前置代理换 Nginx 吧。

sudo apt install php7.2-fpm
sudo a2enconf php7.2-fpm
sudo a2dismod mod_prefork php7.2 ##禁用 prefork 模式
sudo a2enmod proxy_fcgi setenvif mod_event ##启用 fastcgi 和 event 模式
sudo systemctl restart apache2.service

sudo a2enmod https2 ##启用 HTTP2
sudo systemctl restart apache2.service

切换完成后还需要注意几点:

  1. 不能使用php_value等方式控制 php 运行参数,所以上传文件大小限制等需求要在php.ini中修改;
  2. 要修改的php.ini/etc/php/7.2/fpm/里;
  3. 手册里的写法是用ini_set函数实时改变选项值。

关于 php7.2 的改变还有一点,是官方不建议使用php-mcrypt扩展,当然你还可以从第三方源安装适合的 mcrypt 扩展,但新版的phpMyAdmin中似乎不再需要它。所以系统更新后暂时没有必要重新安装 mcrypt 了。不过 phpmyadmin 会有一条新报错:

配置文件中的密文(blowfish_secret)太短。

你在谷歌上搜到的前几条中文指南都是让你到/etc/phpmyadmin/config.inc.php中修改$cfg['blowfish_secret']那个参数。但实际上,Ubuntu 中这个参数保存在/var/lib/phpmyadmin/blowfish_secret.inc.php,所以别傻乎乎的添加新行了,到实际位置中改那个参数去。记住密文长度要不小于 32。

其他就没有特别需要写的。以前担心过 DNS 查询方式改为请求本地 53 端口后可能造成问题,但在 vps 上没有出现。剩下的坑大概是 redis,所以目前还有一台 vps 没有更新系统。总体而言升级过程很平稳,只要你不手贱,而且能保证一段非常稳定的网络连接(但你可以用screen或者服务商提供的网页控制台啊)。然后要解决的就是多年前挖下的大坑:配置文件和网站自动备份系统。别看我喊了那么多年,实际一点都没动手。这次争取尽快开工,也可以避免心脏受到更大的刺激。

不过想到好玩的 MGSV,这个目标有点遥遥无期欸……
今天我也是爽粉了。

声明: 本站所有图文遵循 署名-非商业性使用-相同方式共享 3.0 共享 协议.
转载请注明转自 ershiwo的私人研究所
标签:

3 Comments

  1. 开着自动更新的 Debian Testing 表示无所畏惧(然后每次 PHP 大版本更新网站必挂 :em02:

    2019.02.23 at 19:25
    #1  
    • 正因为不是商业网站所以才要瞎折腾啊。

      2019.02.23 at 23:03
      #11
  2. OB

    用lNMP一键脚本的懒狗路过(逃

    2019.05.23 at 21:53
    #2