Sinatra没有在localhost上运行

时间:2016-02-06 05:21:11

标签: ruby sinatra webrick

我有一些过去运行良好的Sinatra应用程序。现在它们都不会加载到localhost。我在浏览器中输入了相同的信息来访问它们(http://localhost:4567),但没有任何结果。该页面挂了很长时间......超过五分钟。通常我会终止这个过程来结束它。

我用Webrick和Thin试过这个,但都没有用。这是Webrick的最新输出:

[2016-02-06 00:13:07] INFO  WEBrick 1.3.1
[2016-02-06 00:13:07] INFO  ruby 2.0.0 (2014-11-13) [x86_64-darwin14.0.0]
== Sinatra (v1.4.7) has taken the stage on 4567 for development with backup from WEBrick
[2016-02-06 00:13:07] INFO  WEBrick::HTTPServer#start: pid=8118 port=4567
^C== Sinatra has ended his set (crowd applauds)
[2016-02-06 00:13:41] INFO  going to shutdown ...

此后关机也会挂起,我通常会按CTRL-Z,然后杀掉-9 [pid]来阻止它。

我已经在SO上找了很多答案,但我还是被困住了。我无法在/ var / log文件夹中找到Webrick日志,因此我不确定从哪里开始查找错误。这让我发疯,因为我知道我的应用程序之前工作正常,我需要快速编写一个新的Sinatra应用程序。

唯一改变的是我将宝石更新为2.5.0 ......这可能是问题所在,但我无法找到其他人遇到的任何证据这个宝石的问题。

有没有人遇到过这个?如果没有,关于我在哪里可以看到错误日志的任何建议?

1 个答案:

答案 0 :(得分:0)

让我们开始简单,当您在test.rb中编写并运行以下应用程序时会发生什么:

require 'sinatra'

get '/hi' do
    "Hello World!"
end

然后gem install sinatraruby test.rb。你应该看到这些内容:

== Sinatra (v1.4.7) has taken the stage on 4567 for development with backup from Thin
Thin web server (v1.6.3 codename Protein Powder)
Maximum connections set to 1024
Listening on localhost:4567, CTRL+C to stop

现在在第二个终端运行curl

$ curl -XGET localhost:4567
<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
  body { text-align:center;font-family:helvetica,arial;font-size:22px;
    color:#888;margin:20px}
  #c {margin:0 auto;width:500px;text-align:left}
  </style>
</head>
<body>
  <h2>Sinatra doesn&rsquo;t know this ditty.</h2>
  <img src='http://localhost:4567/__sinatra__/404.png'>
  <div id="c">
    Try this:
    <pre>get &#x27;&#x2F;&#x27; do
  &quot;Hello World&quot;
end
</pre>
  </div>
</body>
</html>

你可以这样做并发布卷曲会话的结果吗?