概要
falcon は Ruby の Webサーバです
thin の代わりに使ってみました
アプリケーションフレームワークは sinatra を使います
環境
- macOS 11.6.6
- Ruby 3.1.1p18
- falcon 0.39.2
インストール
- bundle init
- vim Gemfile
gem "sinatra"
gem "falcon"
- bundle install
Getting Started
- vim app.rb
require 'sinatra'
class WebApp < Sinatra::Base
get '/' do
'ok'
end
end
-
bundle exec falcon --port 9292
-
curl -k https://localhost:9292
デフォルトは 9292 ポートです
https で起動するのでとりあえず警告を無視するため -k を付与しています
rackup 経由で起動する
-
vim config.ru
require './app'
run WebApp
-
bundle exec rackup config.ru
- curl localhost:9292
Rack 経由の場合は http で動作します
falcon のオプションはすべて使うことはできないので注意してください
公式だと rackup 経由の動作ではシングルスレッド+HTTP1 になってしまいパフォーマンスが低下するので直接 falcon を動かすのを推奨しています
https://socketry.github.io/falcon/guides/getting-started/index.html
最後に
thin -> falcon の乗り換え自体は Gemfile を書き換えるだけなので簡単にできます
しかし falcon は単体で動作することを想定しているためアプリケーションが Rack の機能を多く使っている場合にはその辺りの移植が必要になりそうです
0 件のコメント:
コメントを投稿