「もう5月終わる」というのを耳にして、非常に心苦しいです。「テーマも作って〜」なんてことを考えていましたが、現実としては時間がかなりなかったので、サーバーとデータを移行して公開です。
構想から6ヶ月もかかってしまった
今回の反省点はココです。正直、「時間がない」ということを言い訳にして放置しすぎました。
Github Gist曰く、2月末までにはPSGIサーバー構築完了していた模様ですが、どうしてこうなったのかを知りたいです。
今回は、時間がかかった言い訳…ではないですが、私が失敗してしまった過ちを述べたいと思います。
データベースの移行に問題が発生
以前、ブログの統合なんてやらないほうがいいのです | nasa114.logで記述したのですが、当初の予定では「2つのブログをfocusmark.jpに統合して、ペースをあげよう!」とか思っていました。
そんな甘いわけ無いですよね…。本当にそうでした。というのも、
- nasa114.jpの移行先URLを変更
- focusmark.jpの記事を全てMarkdownでの記述に変更の上、ファイル名の変更
- 整合チェック
そう、こんなことをしていたら3月20日ぐらいになっていました。この頃に、「あ、無理だな。やっぱり辞めとこう」という結論に至りました。
SQLデータをそのまま移行…これが甘かった。
恥ずかしながら、focusmark.jpでは、Movable Type バージョン 6.2を使っていました。アップデートが面倒・時間がない…という言い訳もありましたが、不具合がないということも重なったため、そのまま利用していました。
いざ、移行しようとした時に文字化けをしてデータが使えませんでした。「これはダメかな…」と思い、バックアップなどから復活させると、記事URLが変更になってしまい、「ムリかな」と泣きそうになりました。
この状況から5月のゴールデン・ウィークに入りました。(確か) そのまま放置し、5月中旬から再度解析すると、
- Movable Typeのバージョンは述べたとおり異なっている
- SQLサーバーが異なる
何を血迷っていたのかわかりませんが…。サーバーを構築した時に、MariaDBではなく、MySQL Community Versionを導入していました。しかし、元のサーバーではMariaDBを使っていたのです。
とりあえず、この辺りを整理した上で再度移行をするとそのまま問題なく移行できたので、現在運用しています。
サーバー構成の見直し - nginx + PSGIの採用
今回、サーバー移管をするにあたって、ソフトウェアなどの見直しをしました。以前の環境は、
- Apache 2.4.x
- mod_fcgi
- mod_php
- MariaDB
と、かなりベタな環境を構築していました。(mod_fcgiを除く)というのも、Apacheのほうが色々と楽だったり、.htaccessは素晴らしいと思っています。しかし、当時は特に問題なく構築し、運営の障害になるようなこともありませんでした。
しかし、運営中に技術の進歩といいますか、そのようなところで以下の問題が発生しました。
- HTTP/2に対応できない(make installをあまりしたくない)
- PSGIの処理が面倒(Apacheだと.cgiの形式にしないといけない)
- さくらインターネットがほぼ同じぐらいの値段で新プランを発表した(CPUが1コア増加しているのに、お値段が安くなっている。1,831→1,706円)
ということで、新しくサーバーを契約して移行する流れになりました。ちなみに、今回の構成は以下のとおり。
- nginx Mainline(nginxのレポジトリを利用しているため)
- PSGI - Starman
- PHP-FPM
- MariaDB
一応、第三者のVPSサーバー(事業者的に)から前サーバー・当サーバーに対し、ベンチマークを取ってみましたが、約1.5倍ぐらい1秒辺りに捌くことができるリクエスト数が増えているみたいです。
サーバー移行でかなり時間を取られてしまったので、テーマに関してはこれからゆっくりと仕上げていこうと思います。
とりあえず、流石に前のテーマは辛くなったので、Bootstrap3テーマ - The blog of H.Fujimotoを利用しています。