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の高速化が可能になります。

# yum install php-pecl-apc
# vim /etc/php.d/apc.ini

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

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

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

# yum install mod_fastcgi php-fpm
# vim /etc/httpd/conf.d/fastcgi.conf

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

# mkdir /var/www/php-fcgi 
# mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.bak 
# /etc/rc.d/init.d/php-fpm start 

# /etc/rc.d/init.d/httpd restart 
# chkconfig php-fpm on

エイリアスのディレクトリを作成する。
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)が動くようになります。

# vim /etc/php-fpm.d/www.conf

191行目
;security.limit_extensions = .php .php3 .php4 .php5
security.limit_extensions = .php .php3 .php4 .php5 .html .htm

# service php-fpm restart

初期設定ではコメントアウトされている、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編) | レンタルサーバー・自宅サーバー設定・構築のヒント

設定周りで悩んだら、お気軽にご相談ください。
問合せの際は「web担当者を見た」とお伝えください。

この記事を書いた人

デジタルマーケティングに16年間従事しているMITSUIです。Google AnalyticsとGoogle Tag Managerが大好きで、これらのツールを活用した情報提供を行っています。ブログではデジタルマーケティングに関する情報や最新のトレンド、ベストプラクティスを紹介しています。

質問などあればお気軽に!

コメントする

CAPTCHA


目次