Manage Sinatra Server in Development Mode with Shotgun
Sinatra won’t reload your files. So if you’re developing your app and want to see any changes made in the browser, install the shotgun gem.
gem install shotgun
You can then use shotgun to run your server
shotgun your_sinatra_ditty.rb
Presto, your ditty will never be out of key :)
Deploy Sintra App on Ubuntu Using Apache2 and Phusion Passenger Module
Check it out http://sinatra.seanbehan.com/
This assumes Apache2 and the Phusion Passenger module have already been installed. If not you can get up to speed w/ this resource http://seanbehan.com/ruby-on-rails/new-ubuntu-slice-apache-mysql-php-ruby-on-rails-git-and/
First you need Sinatra, so install the gem
gem install sinatra
We need a home for Frank, so create the minimum number of directories in our web directory. The public directory is where we’ll server images, stylesheets, javascript etc. The tmp directory will be where we control Passenger.
cd /var/www/sinatra mkdir myapp mkdir myapp/tmp mkdir myapp/public cd myapp vim index.rb #in index.rb get '/' do "Fly me to the moon..." end
Next we need a configuration file for Rack, important the file extension is “.ru” not .rb!
vim config.ru require 'rubygems' require 'sinatra' Sinatra::Application.default_options.merge!( :run => false, :env => ENV['RACK_ENV'] ) require 'index' run Sinatra.application
Set up the virtual host
<virtualHost *> ServerName www.myapp.com DocumentRoot /var/www/sinatra/public </virtualHost>
Now you can restart the app if you make adjustments!
touch tmp/restart.txt
Keep on singing :)
Inspired by http://blog.zerosum.org/2008/7/4/passenger-3-sinatra


