Running Sinatra on port 80

Jason Swett picture Jason Swett · Jan 27, 2011 · Viewed 26.9k times · Source

I installed Sinatra and it works but it uses port 4567 by default. I want it to run on port 80.

In an effort to get it to work on port 80, I tried this:

require 'rubygems'
require 'rack/handler/webrick'
require 'sinatra'

Sinatra::Application.default_options.merge!(
  :run => false,
  :env => :production,
  :port => 80
)

get '/' do
  "Hello World"
end

But I get this error:

$ ruby -rubygems index.rb
index.rb:5:in `<main>': undefined method `default_options' for Sinatra::Application:Class (NoMethodError)

Any idea what's going on?

Answer

miku picture miku · Jan 27, 2011

Can't you just use (http://www.sinatrarb.com/configuration.html):

set :port, 80

Note that in order to bind a socket to port 80, you'll need to have superuser privileges.


And, by the way,

Using Sinatra.default_options to set base configuration items is obsolete

From: http://www.sinatrarb.com/one-oh-faq