Raspberry Piにwordpressをインストールして実際の消費電力と電気代を測ります。
wordpressの設置
apache2だけインストールされている状態です。
apache2の代わりにlighttpdを使うという案もありますが、メモリ的にはまだ大丈夫そうですが、いっそのことlighttpdを使うことにします。
Raspberry Piから
free total used free shared buffers cached Mem: 447892 144928 302964 0 31028 84276 -/+ buffers/cache: 29624 418268 Swap: 102396 0 102396
144,928KB
448MBのうち145MB使っています。
余力は303MBでSwapが102MBほどあると。
Raspberry PiのBタイプは512MBなんだけど、なんで448MBしかないんだろ?
誰か教えてー。
わかった
sudo vim /boot/config.txt gpu_mem=16
GPUに64MB使っていたらしく、
この数を最低値の16MBに変更しました。
とりあえずapache2を止めて、lighttpdをインストールしていきます。
sudo service apache2 stop sudo apt-get install lighttpd php5-cgi php5-mysql mysql-server New password for the MySQL "root" user: Your Password
cd /etc/lighttpd/conf-enabled sudo ln -s ../conf-available/10-fastcgi.conf . sudo ln -s ../conf-available/15-fastcgi-php.conf . cd /var sudo wget http://ja.wordpress.org/latest-ja.zip sudo unzip latest-ja.zip sudo mv wordpress www sudo rm -rf latest-ja.zip sudo chown -R www-data:www-data www mysql -u root -p Passwordを入力する create database wpdb; GRANT ALL PRIVILEGES ON wpdb.* TO wpuser@localhost IDENTIFIED BY "yourpassword"; exit cd /var/www sudo mv wp-config-sample.php wp-config.php sudo vim wp-config.php
文字化けの嵐
PuTTY Configulation
ウィンドウ→変換
リモートの文字セット UTF-8
再びログイン
sudo vim wp-config.php #日本語表示できるようになる define('DB_NAME', 'wpdb'); define('DB_USER', 'wpuser'); define('DB_PASSWORD', 'yourpassword'); sudo chmod 404 wp-config.php
http://kintarofish.com/にアクセス
403 – Forbidden
あれ?
sudo /etc/init.d/lighttpd force-reload
直った。
とりあえず、wordpressが使えるようになった。
ついでにアクセスログを保存するようにする。
cd /etc/lighttpd sudo mkdir log sudo chown www-data:www-data log sudo chmod 750 log sudo vim lighttpd.conf server.modules = ( #いろいろなモジュール, "mod_accesslog" ) accesslog.filename = "/etc/lighttpd/log/access.log" sudo /etc/init.d/lighttpd force-reload
これでアクセスログを保存するようになった。
wordpressの高速化
Raspberry Piのwordpressが遅い・・・。
読み込むのに5,6秒かかっていそうです。
さくらVPSの場合は特に何もしなくても2秒もかからないのに、
Raspberry Piのwordpressはマズイくらい遅い。
wordpressの高速化を計ります。
sudo raspi-config
Overclock
None → Turbo
700MHzから1000MHzにスピードアップ
パフォーマンスが50%くらい上昇するそうです。
あ、ちょっと早くなった気がします。
高速化とは関係ないけどphp5-gdとphp5-curlがそのうち必要になるかもとかということでインストール
sudo apt-get install php5-curl php5-gd
下記の呪文を唱えると少し高速化するそうです。
sudo apt-get install php-apc
apache2が自動起動になっていたので、それを切る。
sudo update-rc.d -f apache2 remove
これでlighttpdが自動起動になるようになった。
php-apcで若干早くなった気がする。
ここで下記のサイトを見つけた
Raspberry Pi Lighttpd Optimisation For WordPress Owncloud and More
上記のサイトを真似してみる
sudo vim /etc/php5/cgi/php.ini cgi.fix_pathinfo=1 sudo /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_rewrite", "mod_fastcgi", ) fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) sudo service lighttpd restart [ ok ] Stopping web server: lighttpd. [....] Starting web server: lighttpd2014-08-13 06:59:47: (plugin.c.131) Cannot load plugin mod_fastcgi more than once, please fix your config (we may not accept such configs in future releases
あれmod_fastcgiは既に読み込み済みだって。
コメントアウト
#”mod_fastcgi”,
sudo service lighttpd restart
なんとなく早くなったような気がする。
sudo apt-get install libpcre3-dev php-pear php5-dev build-essential sudo pecl install apc
php-apcを入れているから必要ないかなと思いつつ、とりあえず入れてみる。
sudo vim /etc/php5/cgi/conf.d/20-apc.ini extension=apc.so apc.enabled=1 apc.shm_size=30 sudo service lighttpd restart
なんとなく早くなったような気がする。
ちなみにここまでくると、5,6秒かかっていたのが2秒ちょっとで読み込みが完了するようになっています。
mod_expireを追加
sudo vim /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_rewrite", #"mod_fastcgi", "mod_expire" ) #コンプレスのファイルタイプも変更 compress.filetype = ("text/xml","application/x-javascript", , "application/javascript", "text/javascript", "text/x-js", "text/css", "text/html", "text/plain", "image/png", "image/gif", "image/jpg", "image/svg+xml", "application/xml") sudo vim /etc/php5/cgi/php.ini zlib.output_compression = On sudo service lighttpd restart
最後にWP Super Cacheを入れて置きます。
インストールしているプラグイン: WP Super Cache 1.4.2
何か止まったまま。
wp-config.phpが書き込めないと文句言ってきたので一時的に書き込めるようにする。
sudo chmod 755 wp-config.php
パーマリンク設定がなんだかんだと文句言ってきたので、下記に変更する。
カスタム構造 http://kintarofish.com/%postname%
キャッシング利用 (推奨)
警告 ! 圧縮を有効にしようとしましたが、zlib.output_compression が有効になっています。readme ファイルのトラブルシューティング #21 を参照してください。
sudo vim /etc/php5/cgi/php.ini zlib.output_compression = Off sudo service lighttpd restart
警告が消えた。
パーマリンクを変更したら、最初のページ以外Not Foundになりましたー。
mod_rewriteを変更しないといけない気がする。
sudo vim /etc/lighttpd/lighttpd.conf url.rewrite = ( "^/(.*)\.(.+)$" => "$0", "^/(.+)/?$" => "/index.php/$1" ) sudo service lighttpd restart
全部にアクセスできるようになった。
最後にリブートしてメモリの使用状況を確認っと
free total used free shared buffers cached Mem: 496660 153800 342860 0 11376 77064 -/+ buffers/cache: 65360 431300 Swap: 102396 0 102396
まっさらな状態で154MB使用中っと。
Webサイトにアクセスしてぽちぽちしたら177MBくらいになった。
Raspberry Piのwordpressに何も高速化の設定をせずにアクセスした場合、5,6秒かかっていて実用に耐えられるものではなかった。高速化すると最初のアクセス(またはリブート時)で3秒ちょっと、それ以降、キャッシュが効いて2秒前後に。
これで実用上問題なしです!
ちなみに、Railsやら何やら動的すぎるサイトなどには使わないほうが絶対良いですよ。Raspberry PiにRailsを入れようなんかしたら、たぶん遅くて目も当てられない状況になりそうです。
追記:
WP Super CacheのCache Timeoutの設定を変更しましょう。
変更前は1800秒(30分)でキャッシュがクリアされてしまいます。
非力なRaspberry Piにはかなりの重荷です。
私の場合、720000秒(200時間、8日)に設定しています。
追記2:
後日あらためてWP Super Cacheの設定を行いました。
重いWebサイト用、WP Super Cacheの設定の仕方
Raspberry Piのような非力なサーバーの場合、プリロードの設定が重要になります。
Raspberry Piの実際の消費電力と電気代
せっかくなのでワットチェッカーで消費電力と電気代を計ってみました。
消費電力 3ワット
消費電流 60mA
消費電圧 102V
力率P.F. 0.56
ワットチェッカーの消費電力は3ワットと表示されていますが、小数点以下が出ないので実際には
電力=電圧×電流×力率 = 102×0.06×0.56 = 3.42W
1kwhの電気代20円と仮定
1ヶ月の電気代 43.20円
すごいですね、Raspberry Piのサーバーの電気代は1ヶ月で43円ちょっとしかかかりません。サイトにアクセスしてくれる人が増えた場合電気代も増えそうですが、たぶん1ヶ月50円前後で収まりそうです。
今見ているこのページもwordpressなのでしょうか?
自分もやってみたいと思っているのですがハードウエアでゴニョゴニョするつもりなので最下位機種…