Déployez l'application Sinatra sur Heroku
J'ai simple Sinatra app.
web.rb:
require 'sinatra'
get '/' do
"Hello"
end
Gemfile:*
source :rubygems
gem 'sinatra', '1.1.0'
gem 'thin', '1.2.7'
config.ru:
require './web'
run Sinatra::Application
Mais quand je déployer mon application sur Heroku je vais chercher l'erreur sur les journaux:
2012-03-27T19:17:48+00:00 heroku[router]: Error H14 (No web processes running) -> GET furious-waterfall-6586.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
Comment puis-je résoudre ce problème?
source d'informationauteur demas
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'un
Procfile
fichier à côté de votreconfig.ru
dire Heroku comment faire pour exécuter votre application. Voici le contenu d'un exempleProcfile
:Heroku Ruby docs sur Procfiles
EDIT: Voici un exemple de
config.ru
de l'un de mes sinatra/Heroku apps:Vous devrez peut-être besoin sinatra et rubygems pour que cela fonctionne.
Voici comment créer un minimum de sinatra application qui se déploie sur heroku:
app.rb:
Gemfile:
config.ru:
Tapez ces commandes dans votre ligne de commande pour déployer (sans le
$
signes):Puis de tester votre application:
et vous devriez voir:
J'ai eu ce problème un certain nombre de fois dans le passé, et c'était parce que je ne comprend pas mon config.ru fichier avec l'nécessitant de [app].rb & puis en les poussant à Heroku. Même si je l'ai ajouté par la suite et redémarré, Heroku ne serait jamais ramasser.
Puis retirez la télécommande de votre dossier de projet
Puis recréer l'application
essayez de redémarrer heroku
ici plus de discussion:
inconnu heroku erreur
Par l'ajout du gem 'heroku' dans le Gemfile, je l'ai eu à travailler. Pas de Procfile nécessaire.
Comme une mise à jour, voici un légèrement plus minime application que j'ai créé, et est confirmée, travail d'aujourd'hui. La mince gem n'était pas nécessaire, et un Procfile n'était pas nécessaire pour obtenir un travail initial à l'application.
Gemfile
config.ru
Remarque: Le besoin de ligne utilise './app' au lieu de 'app'.
app.rb
Si vous souhaitez utiliser ce modèle, vous pouvez le copier, le bundle, et poussez le repo Git.