この2日間、朝になると自宅のWebサーバが落ちている。決まって同じ時間から症状が発生しているので、状況を調査。
apachectl reloadで発症
すると、logrotated が、ログの切替処理の中で “/etc/init.d/apache2 reload”を実行すると、その後から動かないことが見えてきた。
/var/log/apache2/error.log を観察すると、以下のようなエラーが多発。
[Fri May 11 ...AH00052: child pid 1475 exit signal Segmentation fault (11) [Fri May 11 ...AH00167: long lost child came home! (pid 1475) [Fri May 11 ...AH00052: child pid 1476 exit signal Segmentation fault (11) [Fri May 11 ...AH00546: no record of generation 0 of exiting child 1476
これをネタにググったら、php が原因のような話があったので、現状の php5 を php7 に変更してみた。
php7.0に変更
$ sudo aptitude remove php5-common $ sudo aptitude install php7.0 php7.0-common php7.0-mysql libapache2-mod-php7.0 php7.0-mbstring $ sudo a2enmod php7.0 $ sudo /etc/init.d/apache2 restart
そうしたら、無事に reload ができるようになってきた。
php7.2 に変更しようとしてみたが、WordPress の中で使っている PHP Code widget が非対応ということで、ひとまず見送り。