dem*_*mas 17 ruby heroku sinatra
我有简单的Sinatra应用程序.
web.rb:
require 'sinatra'
get '/' do
"Hello"
end
Run Code Online (Sandbox Code Playgroud)
的Gemfile:*
source :rubygems
gem 'sinatra', '1.1.0'
gem 'thin', '1.2.7'
Run Code Online (Sandbox Code Playgroud)
config.ru:
require './web'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
但是当我在Heroku上部署我的应用程序时,我会在日志中收到错误:
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=
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
Pat*_*ity 25
以下是如何创建一个部署到heroku的最小sinatra应用程序:
app.rb:
require 'sinatra'
get '/' do
"hello world"
end
Run Code Online (Sandbox Code Playgroud)
的Gemfile:
source 'https://rubygems.org'
gem 'heroku'
gem 'sinatra'
gem 'thin'
Run Code Online (Sandbox Code Playgroud)
config.ru:
require './app'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
在命令行中键入这些命令以进行部署(没有$
标志):
$ bundle install
$ git init
$ git add -f app.rb Gemfile Gemfile.lock config.ru
$ git commit -am "initial commit"
$ heroku create <my-app-name>
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)
然后测试你的应用:
$ curl <my-app-name>.heroku.com
Run Code Online (Sandbox Code Playgroud)
你应该看到:
hello world
Run Code Online (Sandbox Code Playgroud)
Eri*_*lin 17
你需要一个Procfile
文件config.ru
来告诉Heroku如何运行你的应用程序.以下是示例的内容Procfile
:
web: bundle exec ruby web.rb -p $PORT
Run Code Online (Sandbox Code Playgroud)
编辑:这config.ru
是我的一个sinatra/Heroku应用程序的示例:
$:.unshift File.expand_path("../", __FILE__)
require 'rubygems'
require 'sinatra'
require './web'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
您可能需要使用sinatra和rubygems才能工作.
rpe*_*rce 10
我过去曾经多次遇到这个问题,而这一切都是因为我没有包含我的config.ru文件,需要[app] .rb然后推送到Heroku.即使我之后添加它并重新启动,Heroku也永远不会把它拿起来.
然后从项目文件夹中删除远程
$ git remote rm heroku
Run Code Online (Sandbox Code Playgroud)然后重新创建应用程序
归档时间: |
|
查看次数: |
11507 次 |
最近记录: |