さくらVPS 1GにNginxとPHP-FPMをいれてWordPressブログを作ったメモ
さくらレンタルサーバ(スタンダード)から、さくらVPS 1GにWordPressブログを引越した。
目的は節約。元々レンタルとVPS両方借りてたんです。
構成は、nginx-1.0.15, php-5.4.10, php-fpm, mysql-5.5.28。
結果的にレスポンスが早くなった。
移行するときのインストールや設定が面倒だったので手順をメモしときます。
バックアップ・リストア
BackWPupプラグインを使った。
WordPressのファイルとデータベースデータを丸ごとひとつにまとめてくれて、リストアもツールを使って簡単にできるのでおすすめ。
参考:今こそ安心できるWordPressバックアップを!復旧作業まで実際にやってみたWordPress丸ごとバックアップ法
VPSの環境構築
OSは、CentOS6.2。
# yum install nginx # yum install --enablerepo=remi php-cli php-mbstring php-mysql php-pecl-apc php-fpm # yum install mysql-server
参考:さくらVPS: nginx/PHP/WordPressインストールガイド
php-fpmの設定
ユーザ, グループと、子プロセスの上限数等を変更する。
# vi /etc/php-fpm.d/www.conf listen = /var/run/php-fpm/php-fpm.sock user = nginx group = nginx pm.max_children = 15 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 5
最初、pm.max_children等の数がでかすぎて負荷テストしたらサーバのload averageが70を突破し、元々動いていた色んなスクリプトが音信不通になるという悲劇に見舞われたので、一応確認しとくことをおすすめします。
参考:nginxベースの高速なWordPress環境をお名前.comのVPSで構築
nginxの設定
リバースプロキシ、php-fpmとの連携を設定する。
色んなサイトの設定の良いとこどりでやってみた。
Unixドメインソケットだったり、WPTouch用のTipsだったり。。。
参考:
nginxベースの高速なWordPress環境をお名前.comのVPSで構築
さくらVPSとnginxリバースプロクシで最速WordPressブログを作る方法(ベンチマーク付き)
WPTouch と Nginx リバースプロキシ
nginx のバーチャルホストでキャッシュを取ることができない場合は header を確認してみる
さくらVPS: Nginx + Apache 構成の設定方法(コメント欄)
ベンチマーク
別のサーバからブログのトップページにabをかけた結果。
$ ab -n 1000 -c 100 http://www.ninxit.com/blog/
さくらレンタルサーバ スタンダード:
Server Software: Apache/1.3.42 Server Hostname: www.ninxit.com Server Port: 80 Document Path: /blog/ Document Length: 387 bytes Concurrency Level: 100 Time taken for tests: 8.049 seconds Complete requests: 1000 Failed requests: 22 (Connect: 0, Receive: 0, Length: 22, Exceptions: 0) Write errors: 0 Non-2xx responses: 984 Total transferred: 1390552 bytes HTML transferred: 1180662 bytes Requests per second: 124.24 [#/sec] (mean) Time per request: 804.916 [ms] (mean) Time per request: 8.049 [ms] (mean, across all concurrent requests) Transfer rate: 168.71 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 7 31 26.2 19 109 Processing: 64 400 932.3 265 7997 Waiting: 29 369 815.1 252 7399 Total: 90 432 935.4 295 8044 </pre> さくらVPS 1G(いまの環境): <pre lang='text'> Server Software: nginx/1.0.15 Server Hostname: www.ninxit.com Server Port: 80 Document Path: /blog/ Document Length: 45527 bytes Concurrency Level: 100 Time taken for tests: 4.074 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 46804520 bytes HTML transferred: 46537240 bytes Requests per second: 245.44 [#/sec] (mean) Time per request: 407.427 [ms] (mean) Time per request: 4.074 [ms] (mean, across all concurrent requests) Transfer rate: 11218.59 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 37 111 25.0 108 184 Processing: 134 277 63.8 275 573 Waiting: 25 104 39.1 99 260 Total: 185 388 63.7 386 683