Reputation: 12824
I've been starting Thin with thin -V start
in development.
However, I would like Thin to be the default instead of WEBrick and to be able to start it with rails s
.
Is there a way to set Thin as the default instead of WEBrick in Rails 3?
If that's not possible, is there at least a way to start it in the test environment automatically?
Upvotes: 34
Views: 23864
Reputation: 5901
In Gem file use: gem 'thin'
bundle install
then rails s it will take thin as default server for your project.
Upvotes: 4
Reputation: 5148
I sent a pull request on the Github repository of rack and it was accepted: https://github.com/rack/rack/commit/b487f02b13f42c5933aa42193ed4e1c0b90382d7
In a near future, we will be able to use Thin just by adding gem 'thin'
to our Gemfile and starting app with rails s
.
Note that this may be a temporary measure, however.
I chose Thin because Mongrel was not maintained currently and no other server seemed to suit as an alternative to Mongrel.
Upvotes: 46
Reputation: 547
Alternatively you could use foreman, especially if your web applications tend to get more complicated to run (background workers, clock processes to handle scheduling, etc.)
Taking thin as an example, you would need to create a Procfile
in your Rails app with the following content:
web: bundle exec rails server thin -p $PORT
Then just:
foreman start
to start your server.
Upvotes: 14
Reputation: 12802
You can run rails3 with thin using rails server thin
See the output of rails server -h
for more options.
Upvotes: 8