rubyでwebアプリケーション書いた時の覚え書き
sinatraを使ってhamlで書いたwebサイトを公開するためにいろいろ調べたことメモ
調べたら出てきた用語・プログラム
bundler
- 何のgemを使っているか、管理するgem
- Gemfileという名前のファイルを作り、gem 'gem名'を記述していく。
- bundle checkコマンドで、(その環境でインストールされていない)足りないgemを教えてくれるようになる。
- bundle show 'gem名' コマンドで、そのgemファイルが何処にあるかパスを返してくれる。
unicorn
- Rack準拠のHTTPサーバー。
passenger standalone
- HTTPサーバー。
sinatra
nginx
- 昔HTTPサーバーといえばApache、今はnginx。速いらしい。
構成について
「Sinatraで作ったwebアプリを公開する」 でググると、Sinatra + Unicorn + Nginx という記事が多数ヒットするので、この構成で試そうと思ったが、unicornは上級者向けとの記事を見つけたので、まずはpassenger standalone + sinatra で試してみる事にする。
- passengerをinstall
- nginxをinstall
- sinatraをrequireしてコードを書く。ファイルの拡張子は.rbでよい。
- config.ruというファイルを作る。中身はsinatraで書いたwebアプリ本体を呼び出すコードっぽい。Myapp.rbなら
require File.expand_path(File.dirname(__FILE__)) + '/Myapp'
run Sinatra::Application
起動方法
コマンドラインで passenger start -p ポート番号 で起動。
デーモンとして起動したい時は、passenger start -p ポート番号 --daemon
止める時は、passenger stop