nginx + php-fpmの環境にAPCをInstallしてWordPressのCache機能を有効に

nginx_apc_wordpress_settingnginx + 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-fpmを再起動
# /etc/rc.d/init.d/php-fpm restart

適当な場所にphpinfoを表示して、APCの項目があるか確認。

image

ちなみにyum経由でもInstall出来る。
# yum install php-pecl-apc

現在のCache状態を確認できる"apc.php"が展開したDirectoryに入っているので、適当な場所に設置しておくのがおすすめ。

image

 


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に追記。

# 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 >