スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(Nginx&PHP-FPM編)

前回(CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(MySQL編))MySQLの設定ファイル差し替えてちょこちょこいじって少し実用範囲になった感じのお家サーバーのLEMP環境。
今回はNginxとPHP-FPMの設定なんかをちょこちょこ勉強しながら設定していこうと思います。

1.APCを導入
PHPを中間コードにしてメモリ上にキャッシュし、高速化するモジュールらしい。
導入は簡単で、yumで入ります。設定も不要。

$ sudo yum install php-pecl-apc



2.unixドメインソケットってなんぞ?
Nginxの設定でUnixドメインソケットを使うようにすると速くなるとか何とか。
/etc/nginx/conf.d/default.conf で指定。

fastcgi_pass unix:/var/run/php5-fpm.sock


という話だったんだけど。。。
これやったらサイトが表示されない。。。

ということでそもそもUnixドメインソケットってなんぞ?ってとこから。
調べなきゃ寝れない!と調べたら余計に寝れなくなったソケットの話
わかりやすかったですありがとうございます。
Linux programming Tips 第11回 ソケットプログラミング道
こちらも。
とりあえず同一のマシン上でプログラムとサーバープログラム走らせるんならば、TCP接続より安定して速くなることは間違いないらしいです。
しっかしエラー出てるんだよね。

$ ls /var/run/
(前略)php-fpm (後略)


$ ls /var/run/php-fpm/
php-fpm.pid


php5-fpm.sockがないんです。

ということでさらに調べると。。。
How to find my php-fpm.sock?
www.confのlisten = 127.0.0.1:9000 になってるとこをlisten = /var/run/php5-fpm/php5-fpm.sock に変更、その後php-fpm restartすると/var/runにできてるはずだぜ!!って。
ということでやってみます。

$ sudo nano /etcphp-fpm.d/www.conf
listen = 127.0.0.1:9000 →listen = /var/run/php5-fpm.sock


$ sudo nano /etc/nginx/conf.d/default.conf
fastcgi_pass 127.0.0.1:9000 → fastcgi_pass unix:/var/run/php5-fpm.sock;


$ sudo service php-fpm restart
$ sudo service nginx restart


ここでサイトが見れることを確認。

$ ls /var/run/
 (前略)php-fpm
php5-fpm.sock (後略)


できてる!!
ベンチ。

$ ab -n 100 -c 100 http://192.168.0.6/concrete57/
Requests per second: 3.66 [#/sec] (mean)
$ ab -n 100 -c 100 http://192.168.0.6/wordpress/
Requests per second: 14.09 [#/sec] (mean)


MySQLだけちょこちょこいじった状態で↓だったので、数値上1.5倍以上!!

$ ab -n 100 -c 100 http://192.168.0.6/concrete57/
Requests per second: 2.23 [#/sec] (mean)



$ ab -n 100 -c 100 http://192.168.0.6/wordpress/
Requests per second: 6.72 [#/sec] (mean)



Unixドメインソケットは効果絶大。一気に実用問題なし圏内に入ってきました。

3.Nginxのproxy cacheを使う
これが効果かなり大きいみたいだけど、むずかしー。。。
要はNginxで別ポートでもうひとつサーバーをたてて、そこで動的コンテンツ(.phpとか)も静的コンテンツとしてキャッシュしておき、それを元々のNginxからlistenするという構成にするとか何とか。
WordPressを100倍速くする! MySQLの調整やnginx proxy cache
さくらVPSのWordPressをチューニングして30倍高速化した方法
さくらVPS512で、Yahoo!砲食らっても WordPress を平常運転させるための設定
ブログ(WordPress)の高速化 apache + php53 -> nginx(proxy cache) + php-fpm + apc
Nginx + WordPress proxy cache篇

NginxとかProxy cacheの意味がよくわからんというくらいの人は(俺とか)最後の記事がわかりやすいと思います。
うちの環境ではなんとかWPのひとつだけ適用出来ました。
/etc/nginx.confに追記

http {
# 省略
proxy_cache_path /var/cache/nginx/cache levels=1 keys_zone=zone1:4m inactive=7d max_size=50m;

include /etc/nginx/conf.d/*.conf;
}


/etc/nginx/conf.d/default.confはほぼ書き直し。

これでWPはそのまま動くはず。なんですけど、うちの環境では別名でWPがもうひとつとconcrete5が動いてて、そっちが飛んでしまいました。
この状態で動いているWPにab走らせるとこんな感じ
Requests per second: 18.80 [#/sec] (mean)
思ったより速くなってません。どっか設定ミスってるのかなぁ?それでも初期値より相当早くなってますけど。

$ ab -n 100 -c 100 http://192.168.0.6/wordpress
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.6 (be patient).....done


Server Software: nginx/1.6.2
Server Hostname: 192.168.0.6
Server Port: 80

Document Path: /wordpress
Document Length: 0 bytes

Concurrency Level: 100
Time taken for tests: 5.319 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Non-2xx responses: 100
Total transferred: 24500 bytes
HTML transferred: 0 bytes
Requests per second: 18.80 [#/sec] (mean)
Time per request: 5319.294 [ms] (mean)
Time per request: 53.193 [ms] (mean, across all concurrent requests)
Transfer rate: 4.50 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 3 0.7 3 5
Processing: 2176 3952 1061.8 4422 5313
Waiting: 2176 3952 1061.8 4422 5313
Total: 2181 3955 1061.2 4426 5315

Percentage of the requests served within a certain time (ms)
50% 4426
66% 4567
75% 4635
80% 5125
90% 5251
95% 5287
98% 5313
99% 5315
100% 5315 (longest request)



このあとconcrete5ともうひとつのWPに同じような設定適用できないものかと試行錯誤したけどダメだったので、今のところ3は使えていないです。Nginx(というかサーバー設定)もう少ししっかり勉強しないとなぁ。

関連記事
CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(MySQL編)
CentOS 6.5でnginx+php-fpmでPHPを動かしてみる
Cent OS 6.5でNginx+php-fpm+mysqlでFC2オープンソース版とWordPress
CentOSサーバーにDrupal入れてみた
Concrete5.7.0が正式にリリースされたので早速CentOSサーバーに入れて動かしてみたよ
concrete5.7.0→concrete5.7.0.1 upgrade(CentOS6.5+LEMP)
MySQLのパスワード忘れた→復旧
CentOS+LEMPでbaserCMS
Nginx+Wordpressで固定ページをTOPにしたら403になった件
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。