PHP5.5 + nginx1.4 + php-fpm + Zend OPcacheのインストールメモです
OSはCentOS6です
# cat /etc/redhat-release
CentOS release 6.4 (Final)
PHPの最新版をインストール
※ここでインストールしているのはPHP 5.5.0RC1で、リリース候補版です
プロダクション環境では安定版のほうが、たぶん良いでしょう
# rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# yum --enablerepo=remi-test install php php-common php-mbstring php-pdo php-cli php-devel php-fpm
# php --version
PHP 5.5.0RC1 (cli) (built: May 8 2013 21:08:03)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies
nginxの最新版をインストール
# wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
# yum install nginx
# nginx -v
nginx version: nginx/1.4.1
サーバ立ち上げ時に、PHP-FPMが自動起動するようにchkconfigを設定しておく
# /sbin/chkconfig php-fpm on
# /sbin/chkconfig --list
nginxの設定を編集
# cp -r /etc/nginx /etc/nginx.org
# emacs /etc/nginx/conf.d/default.conf
ルートディレクトリの箇所を編集
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
↓
root /usr/share/nginx/html;
index index.php index.html;
PHP-FPM向けの設定を追記
location ~ \.php$ {
fastcgi_pass unix:/tmp/php.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass_header "X-Accel-Redirect";
fastcgi_pass_header "X-Accel-Expires";
}
nginxをリスタート
# /etc/init.d/nginx restart
PHP-FPMの設定を編集
# cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.org
# emacs /etc/php-fpm.d/www.conf
php.socketとの通信を有効にする
#listen = 127.0.0.1:9000
listen = /tmp/php.socket
ユーザをnginxにする
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
↓
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
タイムゾーンを東京にする
php_admin_value[date.timezone]= 'Asia/Tokyo'
PHP-FPMをリスタート
# /etc/init.d/php-fpm restart
phpinfoを出すphpファイルを設置
# emacs /usr/share/nginx/html/index.php
<?php phpinfo(); ?>
ブラウザで確認してみましょう
Zend OPcacheをインストールしてみる
Zend OPcacheは、PHP 5.5 のコードキャッシュです
このスライドが参考になります
# yum --enablerepo=remi-test install php-opcache
# php -v
PHP 5.5.0RC1 (cli) (built: May 8 2013 21:08:03)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.2-dev, Copyright (c) 1999-2013, by Zend Technologies
Zend OPcacheと出ました
Opcache Control Panel
Zend OPcacheの状況が見れるスクリプトが公開されています
これを設置しておくと良いでしょう
OCP – Opcache Control Panel
https://gist.github.com/ck-on/4959032
# cd /usr/share/nginx/html/
# wget https://gist.github.com/ck-on/4959032/raw/0b871b345fd6cfcd6d2be030c1f33d1ad6a475cb/ocp.php
※便宜パスワードなど掛けておきましょう