Это трудно понять проблему, которую вы видите. Может быть, это поможет:
Если я создаю простой тестовый сервер, содержащий образец Синатры код:
require 'sinatra'
get '/hi' do
"Hello World!"
end
И кроме того, что на мой рабочий стол в качестве теста.гь, я могу запустить Синатра с помощью:
ruby test.rb
Синатра говорит мне:
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from Thin
Thin web server (v1.6.2 codename Doc Brown)
Maximum connections set to 1024
Listening on localhost:4567, CTRL+C to stop
Если я удаляю Thin:
gem uninstall thin
Remove executables:
thin
in addition to the gem? [Yn] y
Removing thin
Successfully uninstalled thin-1.6.2
И запустить код еще раз:
ruby test.rb
[2014-09-05 14:41:23] INFO WEBrick 1.3.1
[2014-09-05 14:41:23] INFO ruby 2.1.2 (2014-05-08) [x86_64-darwin13.0]
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from WEBrick
[2014-09-05 14:41:23] INFO WEBrick::HTTPServer#start: pid=26786 port=4567
В любом случае код делает то, что он sup . Я могу подключиться с помощью curl и получить «Hello World!». обратно:
curl http://localhost:4567/hi
Hello World!
Sinatra использует WEBrick по умолчанию, но выбрать другие серверы над ним:
gem install puma
Fetching: puma-2.9.1.gem (100%)
Building native extensions. This could take a while...
Successfully installed puma-2.9.1
Parsing documentation for puma-2.9.1
Installing ri documentation for puma-2.9.1
Done installing documentation for puma after 3 seconds
1 gem installed
ruby test.rb
Puma 2.9.1 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:4567
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from Puma
gem install thin
Fetching: thin-1.6.2.gem (100%)
Building native extensions. This could take a while...
Successfully installed thin-1.6.2
Parsing documentation for thin-1.6.2
Installing ri documentation for thin-1.6.2
Done installing documentation for thin after 0 seconds
1 gem installed
ruby test.rb
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from Thin
Thin web server (v1.6.2 codename Doc Brown)
Maximum connections set to 1024
Listening on localhost:4567, CTRL+C to stop
curl http://localhost:4567/hi
Hello World!
Использование -s
для управления, который сервер Sinatra использует:
ruby test.rb -s puma
Puma 2.9.1 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:4567
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from Puma
И это не хорошо, потому что ? –
потому что я должен запускать синатра в порту «4567», чтобы увидеть мой файл, но я отведу меня к webrick, я не хочу идти в webrick, я хочу запустить sinatra –
Есть ли ошибка? Или вы не понимаете, как работают порты? Два приложения не могут существовать на одном и том же порту. Sinatra будет использовать Mongrel, Thin или Webrick в качестве своего сервера, в зависимости от того, что установлено, но вы можете использовать '-s', чтобы указать его на конкретное направление. Трудно сказать, что вы просите, поэтому вам нужно добавить дополнительную информацию и лучшее описание, чтобы мы могли вам помочь. –