Apache + PHP-FPM + FastCGI(mod_fastcgi)でWordPress高速化

KAGOYAのVPSで構築したプランAのサーバだと1GBしかメモリがないためWordPressを動かそうとすると足りない事が多くなりました。

そこで、Xサーバー等で使われているFastCGI・APCをKAGOYAのVPSにも適用したいと思います。

FastCGIの説明はX サーバーさんに詳しく書かれています。

スポンサーリンク

メモリ使用量が約1/3に減りました。

メモリの使用量が1/3近くに

では実際にメモリ使用量1/3にするための手順です。

PHP APC ( Alternative PHP Cache ) のインストール

mod_fastcgiのインストール

php-fpmのインストール

この3つのインストールと各種設定で完了します。

PHP APC ( Alternative PHP Cache ) のインストール

APCとはPHPの高速化、CPU負荷を軽減するための拡張モジュールです。

PHPの初回実行時に、PHPの内容をキャッシュして、PHPにアクセスがあった際にキャッシュを利用することで、PHP実行時のCPU負荷の軽減、PHPの高速化が可能になります。

# 12行目:共有メモリ容量を指定(MB単位)
とりあえず、512Mにしておきました。apc.shm_size=512M

ここはサーバースペックによって変えればOK。

mod_fastcgi、php-fpmのインストール

fastcgi.confの18行目をコメントアウトする。
# FastCgiWrapper On

fastcgi.confの最終行に以下を追記

AddHandler php-fastcgi .php
Action php-fastcgi /php-fcgi/php-fpm
ScriptAlias /php-fcgi/ /var/www/php-fcgi/
FastCGIExternalServer /var/www/php-fcgi/php-fpm -host 127.0.0.1:9000

エイリアスのディレクトリを作成する。
php.confは不要のため名前の変更
fpmのスタート
htppdのリスタート
サーバー起動時にphp-fpmの自動起動ON

以上です。

html拡張子でもphpを使用する場合

httpd.confに以下の記述をすればphpがhtml拡張子のファイル内でも動くようになります。

AddType application/x-httpd-php .php .html

ただこれだけだと、fastcgiを設定した場合、html拡張子のファイルでphpが動きません。Access denied.と表示されます。

php-fpm.dディレクトリ内の www.confを修正することでhtml拡張子内でもphp(FastCGI)が動くようになります。

初期設定ではコメントアウトされている、ecurity.limit_extensions = .php .php3 .php4 .php5のコメントアウトを取り、
security.limit_extensions = .php .php3 .php4 .php5 .html .htm とhtmlとhtmを追記します。

その後、php-fpmを再起動すれば完了です。

参考にさせて頂いたサイト

apache の FastCGI(mod_fastcgi) + PHP-FPM で phpを動かしてみる(CentOS,ScientificLinux編) | レンタルサーバー・自宅サーバー設定・構築のヒント
スポンサーリンク

シェアする