nginxのパフォーマンスと互角になる?Apacheをworkerでチューニングする
標準のapacheのpreforkはプロセスで動作するのに対して、nginxと同じスレッドで動作するworkerでは
結局同じ程度のパフォーマンスになるのかな?
実際に自分の目で確かめるために、Apacheをworkerで動作するように挑戦してみました。
phpをmod_phpなどで動作させている場合は、メモリーリークなど動作が不安定になると
いろいろなページで紹介されています。
Apacheをpreforkからworkerに変更するのは、CentOSの場合コメントを外すだけの簡単設定です。
vi /etc/sysconfig/httpd
※コメントを外す
HTTPD=/usr/sbin/httpd.worker
※apacheの再起動
service httpd restart
※動作確認
apachectl -V | grep 'Server MPM'
workerのメリットとしてのメモリー使用量が減った?
後は、mod_phpの動作が不安定になるのを抑える対策として
mod_fastcgiを導入すれば良いと思います。
Apacheのバージョンが2.4系(2.3以上?)の場合は、proxy設定でphp-fpmとの連携ができそうですね。
mod_fastcgiのインストール
yum install mod_fastcgi --enablerepo=rpmforge
mod_fastcgiの設定
mkdir /path/htdocs/fcgi-bin
cp /usr/bin/php-cgi /path/htdocs/fcgi-bin
chown -R apache: /path/htdocs/fcgi-bin
chmod -R 755 /path/htdocs/fcgi-bin
この利用方法はあまり好きでは無いんですよね。PHPのバージョンアップ時の保守性が低下するので。
面倒な設定を省略したい場合は、mod_fastcgiを導入しなくても
workerに設定した時点で、対応されていますが(libphp5-zts.so)・・・
LoadModule php5_module modules/libphp5.so
LoadModule php5_module modules/libphp5-zts.so
関連記事
WEBシステム開発におすすめなテキストエディター Sublime Textを使う
ここ最近は開発らしい仕事をしておらず そして、少し作業する際はvim、Eclipseでの開発が中心でした。 が、周りのスタッフをよくよく見るとWindowsでは無くMACパソコンで開発してたり IDE統合開発環境も何やら […]
nginxの勉強はlocationディレクティブの設定がキモ? 前方一致 正規表現
みなさんこんにちは 最近apacheからnginxに移行しちゃおうとポチポチ遊んでいる武智建樹です。 (今日からはじめのフレーズを入れてみました。。。) nginxの設定を他のサイトを参考にしながら、いろいろ試し利用して […]
WordPress 3.8.1 自動アップデートで指定したプラグインを除外する方法は?
昨日Wordpressの自動アップデート設定を正しく行ったところ 無事に自動更新されていました。 いいですね~便利ですね~ これで、わざわざ更新画面を表示して更新ボタンを押さなくても良くなりました。 バージョンが古いもの […]
今流行のnginx proxy_cache apacheにサイトを移行してみました
今年も残すところあと数日になってきました。 私の中ではもう何日も前からカウントダウンが始まっています。。。 来年に向けて何か整理(頭の中を掃除)していこうと思い 今回、当ブログを今流行のnginx(スタッフが作ったマニュ […]
PHPだけでは無い!Perl CGIも実行ユーザーがWEBサーバーのユーザーだった件
知り合いのデザイン会社から、サーバーを移行したいと友達依頼(無償)で気軽に受けてしまった。 以前はどこかのシステム会社に依頼を指定たらしく、それがよくある話のアレコレで どうにも行かなくなったので、今回古くなったOSとと […]
Nginx fastcgi_cacheのキャッシュを利用時に空のページが表示されるエラー
NginxでfastcgiをキャッシュしWordpressやその他のシステムを高速化していました。 サーバー負荷も抑えられ、ページも高速に表示され満足していたのですが 時々ページが空(真っ白)で表示されることがありました […]