XREAからcoreserverに引っ越しました

| コメント(0)

ArkとData::ModelとText::MicroTemplate::ExtendedのトリオだとCGIでも早いよ! という実例を提示するつもりでしたが、肝心のeorzea.asiaをホストするコンピューターであるs345.xrea.comがかなりの外れサーバーだったことに遅まきながら気付きました。FTPが繋がらないだけならまだしも、サンプルアプリが(時間帯により)重いという問題は、黄金トリオの鼎の軽重が問われるようなFUDをまき散らしてしまうおそれがありました。

ということで、「真面目なサイト」のermitejo.comをホストしているs32.coreserver.jpに引っ越しました。DNS伝播の程度にもよりますが、遅くても週明けには切り替わっていることでしょう。この記事をご覧になれる場合は、新サーバーに向いていますので大丈夫です。

正直なところ、そろそろ馬脚を現し始めたDigiRock社と心中するのは微妙なのですが、短期間での切り替えを考えると、既に別サイトを運営しているcoreserverに片寄せする選択肢を採らざるを得ませんでした。

今回の引っ越しの落とし穴などは以下にまとめます。

DNS設定の変更

今回、ついでにff14.nameff14.asia、それにエイリアスであるfinalfantasyxvi.namefinalfantasyxiv.asiaも一緒に引っ越すことにしました。

それらはすべてvalue-domain.comで契約しているので、eorzea.asiaであればs345.xrea.com用の設定からs32.coreserver.jp用の設定に変更するだけです。

ドメインウェブの設定

元は以下のような設定でした。

s369.xrea.com

main: ff14.name
sub2: finalfantasyxiv.name
sub3: default.ff14.name
sub4: default.finalfantasyxvi.name

s370.xrea.com

main: ff14.asia
sub2: finalfantasyxiv.asia
sub3: default.ff14.asia
sub4: default.finalfantasyxvi.asia

s32.coreserver.jp (old)

main: ermitejo.com
sub2: bildo.ermitejo.com
sub3: blogo.ermitejo.com
...
subxx: default.ermitejo.com

これを、以下のような設定にします。

s32.coreserver.jp (new)

main: blank
sub2: bildo.ermitejo.com
sub3: blogo.ermitejo.com
...
subxx: ff14.name
subxx: ff14.asia
subxx: finalfantasyxiv.name
subxx: finalfantasyxiv.asia
subxx: default.ermitejo.com
subxx: default.ff14.name
subxx: default.ff14.asia
subxx: default.finalfantasyxiv.name
subxx: default.finalfantasyxiv.asia

注意点としては、後述するシンボリックリンクによるドメイン間の同期をするためには、「後でln -s」するからここではディレクトリを(/virutal/USERNAME/public_html/SOME_DOMAIN/)に作らないNoDir設定でいいじゃないか」というのは不可であることです。

ドメイン間の同期(シンボリックリンク)

SSHで入って、ln -s ~/public_html/ff14.name ~/public_html/finalfantasyxiv.nameなどというコマンドを発行しまくります。

.htaccessの変更

広告を自動挿入せずに手動挿入するためのLayoutIgnoreURI *は、coreserverでは不要です。不要だけならいいのですが、IfでApacheモジュール存否を確認せずにディレクティブを設定していない場合には、500エラーになってしまいます。ということで、適切にディレクティブを設定する癖を付けるか、或いは単にその行を削ってしまいましょう。

サンプルアプリの修正

サンプルCGIアプリがlocal::libを使うために、$ENV{DOCUMENT_ROOT}を使っていました。前は/virtual/eorzea/public_htmlを得られたのですが、今回は/virtual/ermitejo/public_html/eorzea.asiaになってしまいます。この環境変数を使ったのは間違いだったかなあと思いつつ、$ENV{DOCUMENT_ROOT} . '/../localの一階層上を指す$ENV{DOCUMENT_ROOT} . '/../../localにしました。

Movable Typeの設定

DBの移し替えは、s345.xrea.comでダンプファイルを(mysql.dumpに)作って、それをリストアするだけだと思っていましたが......はまっていました。リストア出来ないのです。今回、s32.coreserver.jpにはWordPress用に既にermitejoデータベースが存在するので、eremitejo_mt4などとしてDBを作ろうとしたのですが、その場合のリストア元のファイルはmysql.dumpではなくmysql_mt4.dumpのように、データベース名と同じ接頭辞が必要になります。これははまりました。

これさえ済めば、後はmt-config.cgiのデータベース名・ユーザー名・パスワードを新しいサーバーの設定に変えて、ログインして設定→公開のサイトパスを変更して再構築する......といういつもの手順だけで完了です。

なお、DNSの伝播が済むまでは、外部のアグリゲーションサイトへの更新通知の発行に失敗することもあると思います。これは時間が解決する問題なのでしばらく我慢しましょう。

比較的快適なCoreserver

終電で帰ってきて26時頃から作業を始めたのですが、DB問題ではまっていて明け方になったのでふてくされて寝てしまいました。しかし、起き出して少しはっきりした頭で落ち着いて作業すれば、何と言うことのないあほらしい理由だったことがわかりました。それに気付かないアホは反省するとして、ともあれ運用環境がまともになりました。

そもそもs345.xrea.comは異常に遅かったです。また、FTPが繋げない問題については、別のXREAサーバーにFTPで上げた物をSSHで入ってFTPで持ってきたりというような姑息な回避策を講じていたりしました。

XREAはパンパンでしたが、

eorzea@s345:~> wc -l /etc/passwd
933 /etc/passwd

これに比べると、

ermitejo@s32:~> wc -l /etc/passwd
229 /etc/passwd

coreserverは流石に段違いで、いい感じです。

eorzea@s345:~> quota
Disk quotas for user eorzea (uid 11028):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda2   34252  2999000 3000000            3697       0       0

XREA plusにすると、それだけで3GBという無限のような広さになりますが、

ermitejo@s32:~> quota
Disk quotas for user ermitejo (uid 10094):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda2  605454  14999000 15000000           45014       0       0

ははっ、15GBか、圧倒的ではないか我が軍は。といっても、これだけあっても使えないので、ディスク容量としてはあまりうれしさはありません。かなりcoreserverの容量が大きいのは、perl 5.10.0を入れているからです。

時間帯によりサンプルアプリのサンプルアクションの実行を4秒とか5秒とか待たされて、「CGIじゃやっぱり高機能WAFやORMは駄目だな」と感じられた方は、もう一度試してみてください。本来の実力の一端を感じられると思います。

なお、将来的に開発が一段落して運営を開始する際には、ff14.nameやff14.asiaは負荷分散の観点から別のサーバー(coreserverに限らない想定です)へ引っ越しさせる予定です。

わずか数日の命だったXREA plus契約のサーバーは......うーむ、どうしましょうか。s345から他のXREAサーバーに移して使用するにしても、ff14.nameもff14.asiaもついでに引っ越してしまったので、取り敢えず別の用途を考えてみることにします。

コメントする

筆者"Gardejo"について

  • Twitter: @gardejo
  • GitHub: gardejo
  • CodeRepos: gardejo
  • CPAN: MORIYA

このサイトについて

Eorzea System Worksは、架空のシステム開発結社です。

FF14.name (FinalFantasyXIV.name)では、アヴァター(プレイヤーキャラクター)の管理システムやイベント出欠・リマインダシステムや、リンクシェル(LS)運営・管理システムやDKPシステムなどを設計・開発・公開する予定です。

関連サイト

関連サイトでは、他にもFF14に関連するサイトをいくつか紹介しています。

リンク, トラックバック歓迎

このブログへのリンク(どのページでも構いません)やトラックバックを歓迎します。

設計・開発・運用の参考にさせていただきますので、コメントもお気軽にお寄せください!

個別の記事に対するご意見などのほか、目安箱もご用意しています。

このブログ記事について

このページは、Gardejoが2009年8月 1日 21:16に書いたブログ記事です。

ひとつ前のブログ記事は「Data::Modelでのリレーション(2) add_methodでリレーションを実装」です。

次のブログ記事は「s/licence/license/xmsgi;」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2014年2月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  

やや真面目なサイト