Linux/phpインストール/php-fpm

提供: 初心者エンジニアの簡易メモ
ナビゲーションに移動 検索に移動
印刷用ページはサポート対象外になりました。そのため表示エラーが発生している場合があります。ブラウザーのブックマークを更新するとともに、印刷にはブラウザー組み込みの印刷機能を使用してください。

php-fpmとは

nginxなどでphpを動かすために必要なphpのデーモン

インストール

yum install php-fpm --enablerepo=remi

php5.6の場合はこんな感じ

# 64bit
yum -y install php-fpm.x86_64 --enablerepo=remi --enablerepo=remi-php56
# 32bit
yum -y install php-fpm.i686 --enablerepo=remi --enablerepo=remi-php56

起動

/etc/rc.d/init.d/php-fpm start

自動起動

/sbin/chkconfig php-fpm on

設定ファイル

vi /etc/php-fpm.conf
vi /etc/php-fpm.d/www.conf

error_log設定

$ vi /etc/php-fpm.d/www.conf
php_admin_value[error_log] = /var/log/php-fpm/www-error.log

portは9000っぽい(centos6)

vi /etc/php-fpm.d/www.conf
listen = 127.0.0.1:9000

portはソケットっぽい(centos7)

vi /etc/php-fpm.d/www.conf
listen = /run/php-fpm/www.sock

この場合nginx側変更。

- fastcgi_pass   127.0.0.1:9000;
+ fastcgi_pass unix:/run/php-fpm/www.sock;

devian系?php5-fpm?だと

vi /etc/php5/fpm/pool.d/www.conf
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000

メモリが2Gのときの設定

コメントアウトの値から下の値に変更。

vi /etc/php-fpm.d/www.conf

;pm.max_children = 50
pm.max_children = 8

;pm.start_servers = 5
pm.start_servers = 2

;pm.min_spare_servers = 5
pm.min_spare_servers = 2

;pm.max_spare_servers = 35
pm.max_spare_servers = 4

virtualhostのエラーログ変更

/etc/php-fpm.d/www.conf を /etc/php-fpm.d/hogehoge.conf へコピー

以下を独自に書き換え

修正前

[www]
listen = /run/php-fpm/www.sock
php_admin_value[error_log] = /var/log/php-fpm/www-error.log

修正後

[hogehoge]
listen = /run/php-fpm/hogehoge.sock
php_admin_value[error_log] = /var/log/php-fpm/hogehoge-error.log

apacheからphp-fpmを使ってる場合の設定の呼び方(/etc/httpd/conf.d/hogehoge.conf)

  <FilesMatch \.php$>
      SetHandler "proxy:unix:/run/php-fpm/hogehoge.sock|fcgi://localhost/"
  </FilesMatch>