share facebook facebook2 twitter menu hatena pocket slack

2015.08.21 FRI

"kill"コマンドでPHP-FPMをリロード

鈴木 宏康

WRITTEN BY鈴木 宏康

DockerのコンテナとしてPHP-FPMを起動している場合、”kill”コマンドで
PHP-FPMをリロードしたいことがあると思います。

やり方は簡単で

kill -USR2 プロセス番号(php-fpm: master process)

でOKです。

実際に試してみます。

PHP-FPMのプロセスはこんな感じです。

# docker exec 77586670e25f ps aux
root        86  0.0  1.2 298316 13192 ?        Ss   Jul10   0:06 php-fpm: master process (/etc/php-fpm.conf)
apache      90  0.0  0.5 298316  5604 ?        S    Jul10   0:00 php-fpm: pool www
apache      91  0.0  0.5 298316  5604 ?        S    Jul10   0:00 php-fpm: pool www
apache      92  0.0  0.5 298316  5604 ?        S    Jul10   0:00 php-fpm: pool www
apache      93  0.0  0.5 298316  5604 ?        S    Jul10   0:00 php-fpm: pool www
apache      94  0.0  0.5 298316  5604 ?        S    Jul10   0:00 php-fpm: pool www

PHP-FPM(php-fpm: master process)のプロセス(86番)を"kill -USR2"します。

# docker exec 77586670e25f kill -USR2 86

すると、次のようにPHP-FPM(php-fpm: pool)のプロセスIDが変更されてることがわかります。

# docker exec 77586670e25f ps aux
root        86  0.0  1.2 298316 13192 ?        Ss   Jul10   0:06 php-fpm: master process (/etc/php-fpm.conf)
apache     138  0.0  0.5 298316  5600 ?        S    02:20   0:00 php-fpm: pool www
apache     139  0.0  0.5 298316  5600 ?        S    02:20   0:00 php-fpm: pool www
apache     140  0.0  0.5 298316  5600 ?        S    02:20   0:00 php-fpm: pool www
apache     141  0.0  0.5 298316  5600 ?        S    02:20   0:00 php-fpm: pool www
apache     142  0.0  0.5 298316  5600 ?        S    02:20   0:00 php-fpm: pool www

PHPのモジュールの追加や設定変更を行った後に、上記を実行することで、
それらを反映することができます。

元記事はこちら

“kill”コマンドでPHP-FPMをリロード

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。