2012年5月16日水曜日

sinatra (6) - アプリケーションサーバ -

(5)の続き。
これまでWEBrickで動かしましてきましたが、これをunicornに変更します。
他にもthinpassenger等々あるので、この辺は用途と好みで。
公式でもunicornはnginx等を手前に置いて使いましょう、とのことですが heroku上で単体で載せているもあります。
.
├── config
│     └── unicorn.rb  # 追加
├── config.ru
├── Gemfile
├── Gemfile.lock
├── Guardfile
├── lib
│     └── app.rb
├── public
├── spec
│     ├── app_spec.rb
│     └── spec_helper.rb
└── views
       ├── index.slim
       ├── layout.slim
       └── style.scss

Gemfile

source :rubygems

gem 'sinatra', require: 'sinatra/base'
gem 'slim'
gem 'sass'
gem 'unicorn'

group :development do
  gem 'sinatra-reloader', require: 'sinatra/reloader'
end

group :test do
  gem 'rspec'
  gem 'rack-test', require: 'rack/test'
  gem 'guard-rspec'
end
$ bundel install
$ bundle exec unicorn
動作確認するだけなら、これだけでも動作します。
設定ファイルは公式でミニマム版と、フルセット版が掲載されています。 ここではごく簡単に記述します。

config/unicorn.rb

worker_processes 2
timeout 30
$ bundle exec unicorn -c ./config/unicorn.rb
デーモンで起動するときは-Dオプション付きで起動し、停止するときはkill -QUIT (pid)で停止することができます。

0 件のコメント:

コメントを投稿