2016-02-06 3 views
1

У меня есть ряд приложений Sinatra, которые отлично работали в прошлом. Теперь ни один из них не будет загружен на localhost. Я ввел ту же информацию в свой браузер, чтобы получить к ним доступ (http://localhost:4567), но ничего не появляется. Страница просто висит очень долго ... до пяти минут. Обычно я убиваю процесс, чтобы закончить его.Sinatra не работает на localhost

Я пробовал это с 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], чтобы остановить его.

Я немного искал ответы на вопросы, но я все еще застрял. Мне не удалось найти журнал Webrick в папке/var/log, поэтому я не был уверен, с чего начать искать ошибки. Это сводит меня с ума, потому что я знаю, что мои приложения работали хорошо раньше, и мне нужно быстро написать новое приложение Sinatra.

Единственное, что изменилось, это то, что я обновил жемчужину до 2.5.0 ... возможно, что это проблема, но я не смог найти никаких доказательств того, что другие люди сталкиваются с этой проблемой с этим камнем ,

Кто-нибудь сталкивался с этим раньше? Если нет, какие-либо предложения о том, где я могу увидеть журнал ошибок?

+0

Не знаю ничего о Sinatra, но, возможно, у вас запущены серверы-изгои? см. [этот ответ] (http://stackoverflow.com/questions/35156280/rails-tutorial-m-hartl-chapter-8-how-to-unlock-a-database-by-closing-a-rogue/35156281# 35156281), которые могут помочь –

+0

Привет, спасибо. Да, я попытался выполнить grepping уже для процессов Ruby и убил их. Пока что это не исправлено! Но я посмотрю больше, возможно, я что-то пропустил. Приветствия. – dotthespeck

+0

Вы используете пакет для управления зависимостями? – cozyconemotel

ответ

0

Давайте начнем с простого, что происходит, когда вы пишете, и запустите следующее приложение в test.rb:

require 'sinatra' 

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

Тогда gem install sinatra и ruby 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> 

Вы можете сделать это и опубликовать результат завитка сессии?

+0

Это то, что я получаю обратно с завитком сессии: '➜ ~ локон -XGET локальный: 4567 локон: (52) Пустой ответ от сервера ' Я чувствую, как я принимая сумасшедшие таблетки здесь! Что происходит? Я перезагрузил компьютер, который не исправил его. – dotthespeck

+1

Связано ли localhost с 127.0.0.1? Можете ли вы проверить свои «/ etc/hosts» и дать «lsof -i» во время работы синатра? –

Смежные вопросы