Raspberry Piにwordpressを設置して高速化、あと電気代

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

参考 Raspberry PIでWordPressサーバ

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円前後で収まりそうです。

Raspberry Piにwordpressを設置して高速化、あと電気代” への1件のコメント
  1. なむやん より:

    今見ているこのページもwordpressなのでしょうか?
    自分もやってみたいと思っているのですがハードウエアでゴニョゴニョするつもりなので最下位機種…

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください