ある日、運用しているサービスがサーバエラーを頻出しだしたので、調べてみた。環境はUbuntu、nginx、php-fpm、postgresql。
- 他のサーバへのdbアクセスがおかしくなったのかと思い、他の方法でdbアクセス→問題無し
- サービスを色々再起動してみた。→変化なし
- サーバを再起動。しばらくエラーでないが、しばらくするとエラーががが
- php-fpmを再起動。しばらくエラーでないが、しばらくするとエラーががが
- php周りかなと思ったので、phpのログを開く→開かない!
- 良く見たらphp-fpmのログが2GB超えてた。ナンテコッタイ。
- ログを退避して、ローテーション設定して改めてphp-fpmを再起動したら直った。めでたしめでたし。
メモがてらローテーション設定を書いておく
/etc/logrotate.d/php.conf
/path/to/php5-fpm.log {
daily
missingok
rotate 52
compress
delaycompress
notifyempty
create 0644 group username
dateext
}
エラーチェックテストはこんな感じ
logrotate -dv /etc/logrotate.d/php.conf