nginx + php-fpmの環境にAPCをInstallしてWordPressのCache機能を有効に
nginx + php-fpm + WordPressの環境にAPC(Alternative PHP Cache)をInstallしてWordPressのCache機能を有効にする方法。
環境: CentOS 5.8 x86, nginx 1.2.0, php-fpm(php) 5.3.10, WordPress 3.3.2, APC 3.1.9
APCをDownload → Compile → Install
APCのDownloadは下記から。
必要なSoftwareをInstallしてCompile
# yum install php-devel
# tar xzvf APC-3.1.9.tgz
# cd APC-3.1.9
# phpize
# ./configure --enable-apc
# make
# make install
Installing shared extensions: /usr/lib/php/modules/
Installing header files: /usr/include/php/
APC用の設定Fileを新規作成
# vi /etc/php.d/apc.ini
各設定値は下記Siteを参考に。
- PHP: Runtime Configuration - Manual
- How to Install APC (Alternative PHP Cache) on CentOS 5.6 | Steve Jenkins' Blog
php-fpmを再起動
# /etc/rc.d/init.d/php-fpm restart
適当な場所にphpinfoを表示して、APCの項目があるか確認。
ちなみにyum経由でもInstall出来る。
# yum install php-pecl-apc
現在のCache状態を確認できる"apc.php"が展開したDirectoryに入っているので、適当な場所に設置しておくのがおすすめ。
WordPressからAPCを使えるように設定
下記FileをDownloadして/wp-content/の直下に設置する。
# cp object-cache.php /path/wp-content/
これで、さっき設置したapc.phpでcacheされているか確認。
CacheをClearしたい場合は次のCommandを打ったほうが手っ取り早い。
# /etc/rc.d/init.d/php-fpm reload
< 2012/06/21 Modified >
この環境で下記Errorが出力されるようになった。
require(): Unable to allocate memory for pool.
APCのErrorらしい。下記を参考に「apc.mmap_file_mask」をapc.iniに追記。
- PECL apcのエラー Unable to allocate memory for pool. - 永田順伸のブログ
- PHP :: Bug #58982 :: apc produces tons of warnings "Unable to allocate memory for pool."
# vi /etc/php.d/apc.ini
apc.ttl=0
apc.mmap_file_mask=/dev/zero
< 2012/08/07 Modified >
Cacheする容量が増えてくると安定しないみたい。。。apc.phpを見ながらapc.shm_sizeを余裕のある値に設定して様子見。
< Related Posts >