昨日に引き続きまして、さくらさんの VPS。 今度は我らが WordPress のインストールに挑戦してみたいと思います。
WordPress なら VPS じゃなくて普通のレンサバでいいじゃないか、という声も聞こえてきそうですが、VPS の場合は レンサバでは自分で自由にいれることができない PHP アクセラレータとか memcached とか、MySQL のクエリーキャッシュとかをいじれるのがポイントになります。
まぁ面白そうだというのが一番だったりもしますです。 🙂
てなわけで さくら VPS は初期状態、本当にまっさらな感じなので、まずは Apache と PHP と MySQL のインストールから。
# yum update
# yum install httpd php php-mbstring php-mysql php-gd mysql-server
まぁこんな感じで…(SSH のログとばしてしまったので、間違っていたらすいません。。)
で、httpd.conf を設定します。 ここではこんな感じで。
1: # cat /etc/httpd/conf/httpd.conf
2: <VirtualHost sakura.maple4ever.net:80>
3: ServerName sakura.maple4ever.net
4: DocumentRoot /home/apache/sakura.maple4ever.net/public_html
5: <Directory /home/apache/sakura.maple4ever.net/public_html>
6: AllowOverride all
7: Options -MultiViews
8: </Directory>
9: </VirtualHost>
ディレクトリの権限などは chown –R apache:apache しておきます。 また、wp-config.php と .htaccess をつくらせるために public_html に書き込み権限を。 あとで落としてください。 (試験の適当設定なので本気でやるときはユーザを作成するなど注意深くやってください)
でもって、httpd と mysqld を起動して mysql にデータベースを作成。 ここではやってませんが、mysql のパスワードもちゃんと設定のこと。
# /etc/init.d/httpd start
# /etc/init.d/mysqld start
# mysql -u root -p
パスワードは初期状態なし
\ create database 'sakura' default character set utf8 collate utf8_general_ci;
あとはいつも通り、WordPress を public_html にいれて、URL にアクセスでございます。、 🙂
1: # cd /home/apache/sakura.maple4ever.net/public_html
2: # wget http://ja.wordpress.org/wordpress-3.0.1-ja.tar.gz
3: # tar zxvf wordpress-3.0.1-ja.tar.gz
4: # cp -R wordpress/* .
5: # rm -Rf wordpress
6: # cd ..
7: # chown -R apache:apache public_html
8: # chmod +w public_html
ということで、無事起動します。 データもプラグインも入っていないのでなかなかさくさく動きます。
いけるか!?。。
これだと実運用の動きが分からないので、hiromasa.another (ここ)のデータをインポートしてみました。 画像の http セッションも確認したかったので、画像も移して URL を置換しています。
いけ~。
[tegaki]きゅるるるるるる、ぼぼん![/tegaki]
ひろまさ「ずがーん、のこりメモリ 40MByte。。。。。」
ひろまさ「ちょっぱ~を寝かせてきます。」
Masayan「…」
失意のひろまさくん。
ちなみにこのブログで一番重い処理は、kougabu のサムネイル作成だったりします。 複数画像を非同期で縮小かけにいくので結構メモリをくいます。(そのため kougabu ではプログラムで一定数以上同時につくらないように動作を制限しています。 なかなかサムネイルできないときあるのはこの機能のせいです)
はたして残りメモリ 40M じゃ、PHP アクセラレータも memcached もいけんわなぁと思いつつ、せっかくだからと言うことでどうなるのか APC のインストールをしてみる。
Alternative PHP Cache (APC) は、PHP の実行コードをキャッシュする仕組みで、 フリーかつオープンに使用できます。PHP の中間コードのキャッシュ・最適化を行うための、 フリーでオープンかつ堅牢なフレームワークを提供するということを目標としています。
# yum install php-pear php-devel
# pecl install APC
no と答えた
# vi /etc/php.ini
extension=apc.so # 入れる
# /etc/init.d/httpd restart
うまくはいると phpinfo() にこんなんでます。
そして、WordPress を表示して、いろいろアタックしてみたあとに free。
ひろまさ「なんと、のこりメモリ 200M キター!」
ぼのを「…」
どうやら APC でバイトコードをつくるとメモリ使用量がずいぶん減るようです。(たぶん) しかも速度が 1.5倍くらい速くなりました。
Powered by WordPress. Built on the Thematic Theme Framework. (75 queries.1.902seconds.)
最初は 3秒以上くらいかかっていたのでだいぶいい感じです。
そして調子に乗って memcached も導入して、WordPress コアのクエリなどをキャッシュしてみます。
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
# yum install memcached php-pecl-memcache
# /etc/init.d/memcached start
# cd /home/apache/sakura.maple4ever.net/public_html/wp-content
# wget http://plugins.trac.wordpress.org/export/285287/memcached/trunk/object-cache.php
# chown apache:apache object-cache.php
これで、PHP から memcached がみえて WordPress が使ってくれるハズです。
で、キャッシュを効かせる感じで、ブラウザからぽちぽちあくせす。。 🙂
Powered by WordPress. Built on the Thematic Theme Framework. (28 queries.1.415seconds.)
1.9 秒かかっていたのが、1.4 秒になりました! (昔やったときはクエリ 4 くらいまで落ちたのですが、テーマとかプラグインなど対応していない SQL のせいかもです。 チューニングの余地あり)
で、しばらく触った後のメモリを観測。
# free
total used free shared buffers cached
Mem: 510532 504212 6320 0 3372 111752
-/+ buffers/cache: 389088 121444
Swap: 2048276 28984 2019292
# memcached-tool 127.0.0.1 display
# Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM
1 96B 478s 1 3 no 0 0 0
2 120B 478s 1 3 no 0 0 0
3 152B 1068s 1 4 no 0 0 0
4 192B 963s 1 3 no 0 0 0
5 240B 1062s 1 3 no 0 0 0
7 384B 574s 1 34 no 0 0 0
8 480B 957s 1 62 no 0 0 0
9 600B 957s 1 145 no 0 0 0
10 752B 957s 1 32 no 0 0 0
11 944B 1640s 1 5 no 0 0 0
13 1.4K 1640s 1 3 no 0 0 0
14 1.8K 1640s 1 2 no 0 0 0
16 2.8K 1654s 1 3 no 0 0 0
17 3.5K 958s 1 4 no 0 0 0
18 4.4K 1655s 1 4 no 0 0 0
19 5.5K 958s 1 10 no 0 0 0
20 6.9K 1644s 1 4 no 0 0 0
21 8.7K 1655s 1 2 no 0 0 0
22 10.8K 958s 1 5 no 0 0 0
23 13.6K 958s 1 4 no 0 0 0
24 16.9K 958s 1 4 no 0 0 0
25 21.2K 958s 1 6 no 0 0 0
26 26.5K 0s 1 0 no 0 0 0
のこり 121M キター。 これならいける。 いける。
さすがに VPS なので CPU 的な部分はやはり遅いようで、ここのコアサバの表示速度には及びませんが(ちなみに最近ひどく調子がいい。 0.3秒くらいでレンダリング終了します)、必ず一定の速度で動けて、その他工夫次第でチューニングもできるので遊ぶには面白いのではないかと思います。
ちなみに今回動かしたサイトは、こんなかんじです。 (そのうち消えます)
というわけで、もうすこしいろいろな角度から検証は必要そうですが、APC いれるとなかなかいけそうな気がします。 もちろん使い方、サイトの規模にもよると思いますので、やられる方は2週間の試用期間で確認するといいと思います。 🙂
以上、デプロイ田中でした。
あ、関係ない。(笑)
久しぶりに北斗の拳を思い出しました。
ニャ 🙂
むふふ。。 あの頃のノリを再び。 😀
あー、面白そうなことやってる。
SAKURAのVPSって、OSは CentOS ?
だったら、HipHop for PHP も試してみてよん。
http://blog.candycane.jp/archives/275
WordPress をコンパイルする手順は
http://blog.candycane.jp/archives/300
こんにちは、こんにちは。
SAKURA さん、入れ替えもできるみたいですが基本はセントくんですね。 😀
HipHop 面白そうですね!! 間に合えば是非やってみたいと思います~。
ピンバック: さくらVPSに lighttpd + PHP 5.3 + MySQL 5.1 をインストール : dogmap.jp
ピンバック: 作業時に参考にしたものまとめ
ピンバック: さくらのVPSでWordPressを動かす。 APCの導入したときのメモ | やってみるか(仮名)