Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No Procfile detected, using the default web server (webrick)

I get this error when trying to deploy my Ruby on Rails app. Here is the error in my command line:

 ###### WARNING:
remote:        No Procfile detected, using the default web server (webrick)
remote:        https://devcenter.heroku.com/articles/ruby-default-web-server

remote:
remote: -----> Discovering process types
remote:        Procfile declares types -> (none)
remote:        Default types for Ruby  -> console, rake, web, worker
remote:
remote: -----> Compressing... done, 29.5MB
remote: -----> Launching... done, v21
remote:        https://agile-sea-1900.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/agile-sea-1900.git
   e5d3ad8..975d5eb  master -> master

I tried following the advice in "No Procfile detected, using the default web server" [archive.org] - bundling the thin gem and creating a Procfile containing:

web: bundle exec thin start -p $PORT

But that didn't help.

like image 930
Mark Shakespeare Avatar asked May 06 '15 18:05

Mark Shakespeare


People also ask

Which server is used for Ruby?

The Ruby standard library comes with a default web server named WEBrick. As this library is installed on every machine that has Ruby, most frameworks such as Rails and Rack use WEBrick as a default development web server.

What is the default Rails server?

Puma is the default server for Rails, included in the generated Gemfile.

What is web server in Rails?

What's a web server? A web server is a program that takes a request to your website from a user and does some processing on it. Then, it might give the request to your Rails app. Nginx and Apache are the two big web servers you'll run into.


1 Answers

In top of information given in comments, you have this error because in your Procfile, you have:

web: bundle exec rails server -p $PORT

So the default webrick will be used.

In order to remove this warning, you should use an another web server like Unicorn, Thin or Puma.

Heroku now advocates to use Puma ( see Changelog ).

And to getting started with Puma and Heroku, you can follow article Deploying Rails Applications with the Puma Web Server on Heroku website.

like image 109
Florent Ferry Avatar answered Nov 15 '22 08:11

Florent Ferry