• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

kaeruspoon

« 愚か者死すべし: 本: 原 リョウ | mongrelに戻しました »
  • webサーバ Thin を使ってみる 2008-01-07 23:07:49

     Mongrelより速いというウワサのThinというwebサーバを会社の同僚の方に教えてもらいました。実際に計測してみるとmongrelより速いそうです。mongrelの開発者がグレてしまったので、Thinを使ってみるのもいいかもしれません。ちょっと試してみました。

     まずはインストール。

    sudo gem install thin
    

     あとはRAILS_ROOTに移動して、

    thin start
    

    でOKです。超簡単(デフォルトのポート番号は3000です)。もちろん、RAILS_ENVやポート番号も指定できるしデーモンとして起動することもできます。

    thin -p4000 -e production -d
    

    みたいな感じ。デーモンとして起動したときは

    thin stop
    

    で停止できます。

    いちいち手で入力するのが面倒なので、複数プロセスで起動するthin_clusterを作ってみました。

    #!/usr/bin/ruby
    require 'yaml'
    
    CONFIG_FILE = "config/thin_cluster.yml"
    def error
      puts "thin_cluster config|start|stop [options]"
      exit
    end
    
    error if ARGV.size < 1
    
    mode = ARGV.shift
    case mode
    when "config"
      config = {:env => "development", :port => 3000, :servers => 1}
    
      if i = ARGV.index("-e")
        config[:env] = ARGV[i + 1]
      end
      if i = ARGV.index("-p")
        config[:port] = ARGV[i + 1].to_i
      end
      if i = ARGV.index("-N")
        config[:servers] = ARGV[i + 1].to_i
      end
      YAML.dump(config, File.open(CONFIG_FILE, "w"))
    when "start"
      config = YAML.load_file(CONFIG_FILE)
      config[:servers].times do |i|
        `thin -e #{config[:env]} -p #{config[:port] + i} -P "tmp/pids/thin.#{config[:port] + i}.pid" -d start`
      end
    when "stop"
      config = YAML.load_file(CONFIG_FILE)
      config[:servers].times do |i|
        `thin -P "tmp/pids/thin.#{config[:port] + i}.pid" stop`
      end
    else
      error
    end
    

    thinコマンドをそのまま呼んでるだけの超手抜きですが、まあ自分が使うだけだしこれでいいや。さっそく、kaeruspoonとmilookとかえるイメージをthin_clusterで動かしてみます。しばらく様子を見よう。

    追記
    続きが「Thinサーバーをまた使ってみる」にあります。

    Commentコメント(3) Pageリンク元(370) Append 330
« 愚か者死すべし: 本: 原 リョウ | mongrelに戻しました »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.restful_authenticationを使ってみた
  • 5.tokyobikeのドロップハンドル化
  • 6.ubuntu8.04でデュアルディスプレイを使う
  • 7.MySQLコンファレンス2008 2日目に参加してきました。
  • 8.URLなど、長い英字を折り返して表示する方法
  • 9.RailsとPostfixで受信メールを処理する方法
  • 10.Software RAID1 を centOS で正しく使う

コメント

  • lesbian forced facesit(Software RAID1 を centOS で正しく使う)
  • cyokodog(IEではscript要素にinnerHTMLが使えない)
  • ユル(カッコよくなければ意味がない)
  • 武石(本当のヒヨドリ侍)
  • ユル(空の境界 (講談社ノベルス): 奈須 きのこ: 本)
  • おおいしつかさ(アメリカ全州制覇の旅2008 第1話 前編(1/8)‐ニコニコ動画(秋))
  • 萩原寿夫(アメリカ全州制覇の旅2008 第1話 前編(1/8)‐ニコニコ動画(秋))

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2009年
1月 2月 3月 4月 5月 6月 7月

キーワード一覧

ActionScript AmazonResources Erlang git javascript kaeruspoon merb milook MiyazakiResistance NSR Objective-C Rails Ruby Ruby on Rails speedpetal subversion Thin Thinkpad tokyobike TRPG ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画