LoginSignup
3
3

More than 5 years have passed since last update.

php-fpmをsystemdで動かす時のメモ

Posted at

php-fpmをsystemdで起動する時にハマったのでメモ

環境

CentOS 7
PHP 7.0.6 (fpm-fcgi)

# systemctl start php-fpm.serviceのエラー

# journalctl
Started php-fpm service.
Starting php-fpm service...

php-fpm.service holdoff time over, scheduling restart.
Started php-fpm service.
Starting php-fpm service...
php-fpm.service holdoff time over, scheduling restart.
・
・
・
start request repeated too quickly for php-fpm.service
Failed to start php-fpm service.

たぶん、systemdがphp-fpmのPIDを自動判定できず、怒られている。

/etc/systemd/system/php-fpm.service

[Unit]
Description = php-fpm service

[Service]
PIDFile = /var/run/php-fpm/php-fpm.pid
ExecStart = /usr/local/php/7.0.6/sbin/php-fpm --fpm-config /usr/local/php/7.0.6/etc/php-fpm.conf

Restart   = always
Type      = simple
User      = nobody
Group     = nobody

[Install]
WantedBy = multi-user.target

php-fpmが、rootユーザで実行されることを嫌うので、nobodyユーザで実行するようにしている。

/usr/local/php/7.0.6/etc/php-fpm.conf

pid = /var/run/php-fpm/php-fpm.pid

PIDファイルを指定する。

/usr/local/php/7.0.6/etc/php-fpm.d/confファイル

listen = /var/run/php-fpm/php-fpm.sock

ソケットファイルを指定する。
実行ユーザ・グループの設定は php-fpm.service で指定したユーザ・グループ。

/var/run/php-fpm

$ ls -al /var/run/php-fpm
drwxr-xr-x   2 nobody  nobody           80 2017-07-11 13:18 php-fpm

PIDファイル・ソケットファイルを置くディレクトリ
所有者を変更しておく。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3