サーバ

2009年10月09日

今まで、私管理のTwitter botは自宅にあるサーバ(HP ProLiant ML115)を利用して運用していたが(*1)、家で回していると電気代が結構かかるということもあり、Webサーバもろともさくらインターネットのレンタルサーバへ引っ越すことにした(*2)。

さくらのレンタルサーバは、cron(UNIX系OSで、プログラムを定期的に実行する機構)が利用できる上、プログラムの新規導入も制限があるものの(ユーザのホームディレクトリにインストール出来るものならよい)可能なため、それまでの自宅のサーバに近い環境でTwitter botを動かすことが出来る。

移転の際のキーポイントをいくつか。

  • コントロールパネルからはcronで動かすプログラムの数に制限があるため、それ以上動かしたい場合はサーバにSSHログインし、crontabコマンドを使って自動実行するプログラムを直接指定する必要がある。
  • 私のTwitter botを動かすに際して、Rubyはサーバに最初から導入されているものを使ってもよかったのだが、RubygemsやJSONを楽に利用したかったこともあり、自分のホームディレクトリ以下にRuby1.9をインストールした。
    (参考:Ruby Install Guide::UNIX全般
    私は、Ruby1.9の実行ファイルを「ruby」ではなく「ruby1.9」にしたかったので、./configureは以下のようになった。
    $ ./configure --prefix=$HOME/local --program-suffix=1.9
  • とりあえず家にあるプログラム・データをすべてさくらのサーバにコピーし動かしたところ、@gankaiだけがかなりの頻度でプロセスを強制終了させられていた。
    調べたところ、データファイルがかなり大きくなっている上に毎回これをすべて読み込む仕様になっていたため、これがメモリ使用量を引き上げていて、サーバ側から規制されたものと思われた(手元の環境で試したところ、1プロセスでメモリを約20MBもし使っていた)。これはデータファイルを分割して対処した。

ということで、これからさくらのサーバにお世話になります。


(*1) オープンソースカンファレンス2008 Hokkaidoでの抽選会で頂いた景品

(*2)以前はXREAを使っていた。一部のコンテンツは引き続きXREAで運用します。



maraigue at 23:29コメント(0)トラックバック(0) 

2009年10月05日

さくらレンタルサーバーとGoogle Appsの併用 - BLOG : Heart Rhythm.NET http://d.hatena.ne.jp/heart-rhythm/20080218/1203316871

を見てて、理解不十分なまま「この方法じゃだめなのかな」と思ってTwitterでつぶやいていたら、@takadtmnu氏いろいろと教えて下さったので解決。

【行いたいこと】
1つのドメイン(具体的にはhhiro.net)に対し、Webサーバ(つまり http://hhiro.net/〜 を使いたい)はさくらのレンタルサーバーのものを、メールサーバ(つまり 〜@hhiro.net を使いたい)はGoogle Appsのものを利用したい。
【問題点】
ドメインをさくらで管理する(ドメインに対するDNSサーバをさくらのものに設定する)場合、その先のDNSの設定が自由に出来ない(*1)。
【解決方法】
設定に自由の効くDNSサーバを通して設定する。私は以前からXREAを利用していた関係で、DNSサーバとしてVALUE DOMAINのネームサーバ管理機能を使っていたので、これをそのまま利用する。
  1. さくらのサーバコントロールパネルで、「ドメイン設定」→「他社で取得、または他社で管理中のドメインを移して使う - 上記以外のドメインの場合」→「他社で取得された独自ドメインへのサブドメインの追加」と進み、使いたいドメインを追加する(この場合、「hhiro.net」を追加)。このとき、「サーバの設定及び ns1.dns.ne.jp 及び ns2.dns.ne.jp への登録をします。…」という記述があるが、この記述は無視しておく。
  2. ドメインに対するDNSサーバ(ここではVALUE DOMAIN)のDNS設定画面を開き、以下のように割り当てる。
    • Aレコードには、自分が利用しているさくらのサーバのIPアドレスを指定する。IPアドレスは、さくらのサーバコントロールパネルで「サーバ情報の表示」→「サーバに関する情報」と進むと見られる。
    • MXレコードには、Google Appsから指示されたものを指定する。
    なお、私の場合(VALUE DOMAINのコントロールパネルでの記述)は以下のようになった。
    a @ 000.000.000.000 ←実際にはサーバのIPアドレスが入る
    a www 000.000.000.000
    mx (Google Appsのメールサーバのアドレス1). 10
    mx (Google Appsのメールサーバのアドレス2). 20
    mx (Google Appsのメールサーバのアドレス3). 20
    mx (Google Appsのメールサーバのアドレス4). 30
    mx (Google Appsのメールサーバのアドレス5). 30
    mx (Google Appsのメールサーバのアドレス6). 30
    mx (Google Appsのメールサーバのアドレス7). 30

ということで、無事移行出来ました。


(*1)ドメインをさくらで取得していない場合。ちなみに私はドメインをすべてムームードメインで取得している。



maraigue at 01:51コメント(0)トラックバック(0) 
livedoor プロフィール

H. Hiro

  • ライブドアブログ