どどんとふをdebian+nginxで動かすやり方(運用ツール編その2)@公式鯖3rdシリーズ

第1回: OS編

第2回: nginxセットアップ編

第3回: fcgi編

第4回: どどんとふ本体編

第5回: 運用ツール編(最低限)

今回:運用ツール編(その他)

公開サーバーとして公開したら実施しなきゃいけない事の一つに、古い部屋の削除があります。
個人鯖や身内限定鯖なら自動削除はせず自分で手動削除するのが普通でしょうし、定期的にログイン画面の拡張機能を開いて「古いプレイルームを削除」を押して削除する方法もありますが、
どどんとふ公式鯖のように管理人が1人で4つもどどんとふを運営している場合なんかは、そんなのかったるくてやってられません。
ということで、「古いプレイルームを削除」をコマンドラインで行うRubyを作成して、cronで毎日実行させます。
ソースコードは以下のような超簡単なもので、これをDodontoFServer.rbがあるディレクトリと同じ場所に適当な名前で配置して、CGIを実行するユーザー権限で実行させます。


#!/usr/bin/ruby2.2 -Ku
#–*-coding:utf-8-*–
$LOAD_PATH << File.dirname(__FILE__) + "/src_ruby" $LOAD_PATH << File.dirname(__FILE__) # require_relative対策 require 'DodontoFServer' #initLog(); ←1.48あたりから不要になりましたのでコメントアウトもしくは削除 DodontoFServer.new(SaveDirInfo.new(),{"room" => 1}).removeOldPlayRoom

他にも公式鯖は以下のようなツールを使って構成されていますが、語り出すときりがないのでググるなりして興味があれば調べてみてください。別になくても大丈夫です。
  • rrdtool:入り口にあるログイン人数のグラフ
  • analog, goaccess:アクセスログの集計
  • munin:各種サーバーの負荷状況をグラフ化
  • keepalived:稼働系と待機系のサービス用IPを切り替えるのに使用
  • nmon:たまにツイッターにスクリーンショット貼り付けているCUIで負荷をリアルタイム表示するツール