自宅の電気代が1万円もあることがとてももったいなく思えてきたので、そろそろ本気で節電に取り組もうと思う。
確かにクラウドサーバーを使った方が安くなるというのもハラがたつので、できれば、終了形態は太陽光発電で、電気代なしサーバーを実現したいという構成である。
前回はHDDがいっぱいのせてあるストレージサーバーをWOL起動化した事により、必要時以外は待機電力しか発生しないようになっている。
自宅サーバーの電気代を抑える方法 #WOL
概要と構成
現在は、Shuttleの小型ベアボーンとSSDという高速かつ、まあまあのスペックという事で、ダウンもせずに頑張ってくれてます。
今回はRaspberryPiの64MB領域で使うので、電気代は格安になる事間違いないが、負荷に対しての対応はどの程度、堅牢なのかわからないので、とりあえず、構築して、インフラ内で負荷を与えてみたいと思う。
構築
まずはRaspberryPiに「Raspbian」をインストール(以前のブログを参考にしてください)
RaspberryPiのOSをMacのコマンドでインストールする。
ちなみに、余談だが、今回「Raspbianの2015-11-21」バージョンを使ったんだが、SD-Cardに書き込む時間が以前だと30分ほどだったのが、50分以上かかったので、新規セットの時間が大きく増えていることに気が付きました。
sudo dd if=2015-11-21-raspbian-jessie.img of=/dev/disk2 bs=1m
Password:*****
3752+0 records in
3752+0 records out
3934257152 bytes transferred in 3738.501097 secs (1052362 bytes/sec)
webサーバーはwordpressサーバーなので、下記モジュールをインストール
Nginx
$ apt-get install nginx
PHP-fpm
$ apt-get install php5-fpm
MySQL
$ apt-get install mysql-server
Wordpress(ディレクトリコピー)
$ rsync -av user@192.168.1.**:/var/www/html/wordpress ./
データコピー
# MySQLのデータをダンプ
$ mysqldump -u root -p wordpress > wordpress.sql
# 現在サーバーからRaspberryPiにデータコピー
rsync -avP wordpress.sql pi@192.168.1.**
# MysqlにDatabaseがない場合は以下コマンドで構築
$ mysql -u root -p
Enter password: ********
mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)
# RaspberryPiでSQLデータのリストア
$ mysql -u root -p wordpress < wordpress.sql
Nginx設定
server {
listen 80;
server_name wordpress.ideacompo.com;
root /var/www/html/wordpress;
index index.html index.php;
include /etc/nginx/default.d/*.conf;
location / {
if (-f $request_filename) { expires 30d; break; }
if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*.php)$ $1 last; rewrite ^ /index.php last; }
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME /var/www/html/wordpress/$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
CentOSとDebianの設定をできるだけ同じにするために
CentOSのProxy設定は
/etc/nginx/conf.d/**.conf
というパスになりますが、Debian系は
/etc/nginx/site-enabled/**
という風にapacheに準拠したような内容になります。
でも、Debian系でも、「conf.d/**.conf」階層も同時に読み込んでいるため、
ファイル名に拡張子をちゃんとつけてconf.dフォルダに格納することで、同じ設定状態にすることが可能です。
アクセス値比較
Chromeブラウザのデバッグモードに表示される値で判断
現在サーバー | Load: 4.70s
RaspberryPi | Load: 20.06s
これはヤバいですね。
RaspberryPiだと5倍ぐらい表示速度が遅いです。
正直WEBページ表示としては致命的な遅さです。
きっとwordpressの性能としてはこんなものなんでしょう。
自分でフレームワークを作れば同じぐらいの性能を出すことは可能なんですが、今回はこの値を元に、本番切り替えは断念したいと思います。
0 件のコメント:
コメントを投稿