マルチfastcgiによるphp負荷等化

1655 ワード

この間php負荷均衡試験をして、インターネットで良い資料を探しましたが、中国語の資料は本当に乏しくて、やっと見つけたのはまだ多くの問題が存在して、次回使う時に回り道を少なくするために、メモを取って、記録します.試験では先端がNginx,Lighttpdでも可能であり,必要に応じて調整できる.
具体的な状況は以下の通りである:サーバーの3台は、いずれも2つのネットワークカードを有し、それぞれA、B、Cであり、イントラネットIPアドレスはそれぞれ192.168である.0.1,192.168.0.2,192.168.0.3.A先端としてNginxを運転し、B、Cは主に演算圧力を分担する.データベース部分は考慮されません.システム:CentOS 5.5 64ビットNginx:0.6以降のすべてのバージョンが適用されます.PHP:バージョン5.2.14.同一のコンパイルを使用して、各サーバにそれぞれコピーする.サイトカタログ:/www/lcuc/web
一、fpmの構成を変更するデフォルトでは、fpmの傍受は127.0である.0.1:9000およびネイティブからの接続のみを許可します.他の機器にアクセスできるようにphp-fpmを修正する必要がある.confの構成.注意:php 5.3.3デフォルトでfpmが統合され、iniファイル方式で構成されています.区別に注意してください.<value name="listen_address">192.168.0.2:9000</value>
リスニングポートを変更します.ここでは、各サーバ内のネットワークIPに変更することに注意してください.<value name="allowed_clients">192.168.0.1,192.168.0.2,192.168.0.3</value>
呼び出しを許可するサーバipは、英語のカンマで区切られています.php-fpmを再起動します.
 
二、phpファイルfastcgiのロードバランシングを同期するときに実行されるphpはローカルのみであるため、プログラムが配置したパス、権限などを必ず保存しなければならない.独自の方法で同期することができ、rsync、NFS、sambaは自分に合った行を選択します.私はNFSスキームを使用しています.ファイルは集中的に保存されています.セッションをNFS上に置き、セッション共有を実現することもできます.
三、構成nginxはhttpセグメントに加入し、機械の性能が不均衡でweightを調整できる場合、数値が大きいほど、割り当ての要求が多くなる.upstream fastcgi {
server 192.168.0.1:9000 weight=1;
server 192.168.0.2:9000 weight=2;
server 192.168.0.3:9000 weight=2;
}

仮想マシン設定部注意/www/lcuc/webこのアドレスは実は置換変数$document_root、実際のアドレスに置き換える必要があります.location ~ .*\.php$ {
fastcgi_pass fastcgi;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/lcuc/web$fastcgi_script_name;
include fastcgi.conf;
}

 
OK、完了、nginxの再起動が有効になります.