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.
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.
Puma is the default server for Rails, included in the generated Gemfile.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With