この投稿に書かれている通り、このサイトは2009年に発売されたAtom搭載IONベアボーンキットであるValore ION 330-BDで動いていました。OSとしてWindows 2008を(当時購読していたTechnetのライセンスを利用)、その上に今は亡きVMware Serverを導入し、その上にCentOSの仮想マシンを構築して運用していました。
しかし、構築から5年が経過してMySQLを利用するWordpressをホストするには性能的に厳しくなってきたこと、GMOインターネットの株主優待(5,000円相当/半年)が契約ISPのGMOBBで利用できなくなったことを受け、お名前.comのVPSに引っ越すことにしました。
前述の通り、株主優待を利用するという大前提があったので、他社のVPSとの比較検討はほとんど行いませんでした。さくらインターネットのVPSは少し気になりましたが、株主優待を覆すほどのメリットは見当たりませんでした。初期工事無料 + 2週間試用が可能であったこともあり、勢いに任せてポチりました。
あまりよく考えずに始めましたが、思いのほかすんなりと移行できました。あまり引っかかることもありませんでしたが、以下が簡単な移行手順のまとめです。
自宅サーバ → お名前.com VPSへのざっくりとしたWordpress移行手順
- お名前.comのVPSの申し込み
- サーバNaviにログイン & 初期セットアップの実施
- 今回はWordpressの移行が目的だったので、Wordpressが組み込まれたテンプレートを選択。OSだけ入れて自力で構築してもよかったが、ある程度最適されているだろうという期待もありテンプレートを利用。
- 2014/10/16時点での構成は、CentOS 6.5 (64bit) + PHP 5.5.16 + WordPress 4.0 + MySQL 5.5.36 + nginx 1.6.1だった。高速化の観点からnginxは使ってみたかったので問題なし。
- rootのパスワードだけ指定したらそれでWordpressが利用できる状態のインスタンスが起動される。
- 割り当てVPSへのSSH接続
- 接続に必要な公開鍵はポータルからダウンロード可能。TeraTermで割り当てグローバルIPの22番ポートに接続し、公開鍵としてダウンロードした鍵を、パスワードとしてrootのパスワードを指定すればSSHで接続できる(鍵認証とはいえ初期ユーザがroot固定というのはいかがなものかと思うが…)。ちなみに、SSH接続関連情報は活用ガイドにしか書かれていない。慣れている人であれば問題はないが、ちょっと不親切かも。
- インスタンス起動直後に割り当てグローバルIPにブラウザで接続してもnginxが404を返す。構築済みのイメージを展開しているのではなく、その場で独自スクリプトを利用して構築しているようで、Wordpressの起動完了には数分?かかる模様。エラーが出たらしばらく待ってから再度アクセスする。
- Wordpressの移行 ~エクスポート
- 既存サイトからの移行の仕方は色々あるが、今回は正攻法のエクスポート & インポートを利用することとする。
- 導入ディレクトリをそのままコピー & sqldumpでDBを移行する荒業もあるが、WebサーバがApacheからNginxに変わるため断念。また、同様の理由で導入済みプラグインの一括移行もあきらめ、これを機に見直しを行うこととする。
- エクスポートはWordpressの標準機能として組み込まれている。”ツール” – “エクスポート”を選択し、XMLファイルをローカルにダウンロードする。
- Wordpressの移行 ~インポート
- インポートも事実上組み込まれているようなもの。”ツール” – “インポート”を選択すると、インポートに利用するプラグインの導入画面に遷移するのでそのまま導入、先ほどエクスポートしたXMLファイルを指定してインポートを行う。
- この時、DBに含まれないコンテンツ(投稿内の画像ファイルとか)の移行もしてくれる。逆に言えばそれ以外のファイルは面倒を見てくれないので、別途移行をする必要がある(手順7.参照)
- Wordpressの移行 ~設定
- WordPress本体の設定を行う。エクスポート & インポートでコンテンツの移行はされるが、設定は移行してくれないので、旧サイトを参考にしながら設定の移行を行う。
- 同様に、プラグインについても導入 & 設定を行う。プラグインによっては設定のエクスポート & インポートができる物もあるので、必要に応じて利用する。たとえば、このサイトで利用しているテーマであるAtahuaplaはそれが可能で、設定を一つ一つ確認する手間が省けた。
- また、よくよく確認してみるとプラグイン間で機能が重複しているもの、
- Wordpressの移行 ~その他の作業
- エクスポート & インポートでは移行されないその他のコンテンツを移行する。たとえば当サイトではWordpressファイル群がインストールされているパス(旧サーバ上で/var/www/html、お名前.comのVPSでは/var/www/vhosts/default)の直下に”download”というディレクトリがあり、そこにダウンロード用のファイルが置かれているので、それは手作業で動かすする必要がある。
- 普通にtarで固めてダウンロード → アップロードをするだけだが、権限は移行後にnginxグループ / ユーザに変更する。
移行した結果、体感できるレベルで性能が上がりました。自宅サーバで運用していた時は、自サイトのページ表示すら一呼吸置きましたし(回線の遅延はないので完全にサーバ側の処理時間の問題)、記事を投稿した時は完了するまでに10秒はかかっていました。それがサーバ側での処理時間を感じさせないレベルにまで改善されました。ちなみに、以下が移行前後の/proc/cpuinfoです。
移行前 (自宅サーバ)
[Ryu@www proc]$ more cpuinfo
processor : 0
vendor_id : GenuineIntel cpu
family : 6
model : 28
model name : Intel(R) Atom(TM) CPU 330 @ 1.60GHz
stepping : 2
cpu MHz : 1600.080
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss constant_tsc up pni ssse3
bogomips : 3200.16
移行後 (VPS@お名前.com、1 Core分のみ)
[root@v157-7-222-152 proc]# more cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
stepping : 11
cpu MHz : 2593.748
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx lm constant_tsc arch_perfmon r ep_good unfair_spinlock pni ssse3 cx16 hypervisor lahf_lm
bogomips : 5187.49
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits
virtual power management:
単純比較はできませんが、クロックは1.6Ghz → 2.4Ghzと大きく向上しています。キャッシュサイズに至っては512KB → 4,096KBと8倍になっています。Atomは省電力志向のCPUだった上、CPUとしての世代も全く違うので、単純な数値以上に差は大きいはずです。それに加えてコア数も1 → 3に増えていますので、性能は別次元になっていると言ってもいいでしょう。
2009年にWebkeepersという米国のVPSを試用した時は、メモリ128MB + HDD 10GBが月額1,480円で(それでも当時の最安値レベル)、まったく実用にならずに試用期間中に解約 & 自宅サーバに戻りましたが、そこから考えると隔世の感があります。今や月額1,000円程度のVPSでも、Wordpressを動かす程度であれば十分に使い物になることがよくわかりました。
自宅にフレッツISDNが来た2000年11月以来、約14年弱もの長きに渡り自宅サーバを維持し続けましたが、これで自宅サーバはとうとうなくなりました。回線も固定IPである必要はなくなったので、動的IPに戻そうかな…