« [Ruby] markup_validity | トップページ | [Ruby] hoe »

2009年8月 8日 (土)

[Ruby] unicorn


0.8.4が公開されました。(ruby-talk:343377)。



Unix 用の Rack 対応の HTTP サーバー(だと思います、多分)。



Rack::Utils::HTTP_STATUS_CODESでサポートされていない status にも対応したそうです。
いずれ、Rack側に取り込まれる予定だとか。



0.9.x(テスト版)には、この改訂は取り込まれないとのことです。



今まで一度も動いた試しがないのですが、Ruby 1.9.2dev + unicorn 0.9.x ばかり試していたので、今回は、次の環境で試してみます。



ruby 1.9.1p243 (2009-07-16 revision 24174) [i686-linux]
Rails 2.3.2


では、インストールから。バージョン指定しないと、0.9.2がインストールされるので、



$ sudo gem install -v 0.8.4 unicorn
$ rails myapp
$ cd myapp
$ script/server
# ここで、ブラウザから http://localhost:3000/ にアクセス。
# デフォルトのページが表示されることを確認。
# Ctrl + C で script/server を停止。
$ unicorn_rails
I, [2009-08-08T09:59:56.558856 #30305] INFO -- : listening on addr=0.0.0.0:8080 fd=5
I, [2009-08-08T09:59:56.613583 #30305] INFO -- : worker=0 spawning...
I, [2009-08-08T09:59:56.679696 #30305] INFO -- : master process ready
I, [2009-08-08T09:59:56.727900 #30310] INFO -- : worker=0 spawned pid=30310
worker=0 ready
# ここで、ブラウザからアクセス。
# ポートが 3000 から 8080 に代わっていることに注意。
# http://localhost:8080/ にアクセス。


初めて動きました。確かに WEBrick よりブラウザの表示が速いように感じます。



試しに ps で確認するとこんな感じでした。



$ ps -ef | grep unicorn
suke 30387 4273 4 10:06 pts/4 00:00:00 unicorn_rails master
suke 30388 30387 0 10:06 pts/4 00:00:00 unicorn_rails master
suke 30392 30387 54 10:06 pts/4 00:00:03 unicorn_rails worker[0]
suke 30393 30392 0 10:06 pts/4 00:00:00 unicorn_rails worker[0]
suke 30394 30388 0 10:06 pts/4 00:00:00 unicorn_rails master
suke 30396 30393 0 10:06 pts/4 00:00:00 unicorn_rails worker[0]
suke 30401 4266 0 10:06 pts/3 00:00:00 grep unicorn


0.9.2も試してみたところ普通に動作しました。
今まで動かないと思っていたのは、何か勘違いしていたせいでしょうか?



ということで、Ruby 1.9.1でも動作しました。
unicorn_rails コマンドを使えば、何の問題もなく rails アプリケーションを起動できるようです。
Unix限定ではありますが、結構手軽に使えそうだし、
WEBrickよりは速いと感じるので、興味のある方は、まずは、rails アプリの開発環境で試してみてはいかがでしょう。


|

« [Ruby] markup_validity | トップページ | [Ruby] hoe »

コメント

この記事へのコメントは終了しました。