标签: thin

如何获得Rails 4 ActionController ::使用Thin和Ruby 2实时流媒体?Thin和Puma如何通过直播流扩展?

我得到它与Puma合作,但使用Thin我没有得到任何流输出,我必须杀死服务器来阻止它.我正在测试使用tenderlove的初始示例输出当前时间:

http://tenderlovemaking.com/2012/07/30/is-it-live.html

对我来说一个更普遍的问题是,这种类型的流媒体在具有任何重要流量的应用程序中是否实用?我想如果有数千名用户在这样的应用程序中同时连接到一个流,那么很容易就会出现问题.Puma将如何扩展?我读到Puma每个连接使用1个线程.这有效吗?那么Thin呢?所有连接都在同一个线程中吗?这会更有效吗?

我的另一个问题是,即使使用Puma,我只能在本地使用一个连接.当我从第二个终端卷曲时,我没有得到任何输出......有人知道为什么吗?

streaming thin puma ruby-2.0 ruby-on-rails-4

7
推荐指数
1
解决办法
2150
查看次数

Apache BalancerMember可以配置为使用unix域套接字吗?

我正在使用Apache Proxy balancer指令来连接一组瘦服务器(用于Rails).

像这样:

  <Proxy balancer://thinservers>
    BalancerMember http://127.0.0.1:5000 route=thin0
    BalancerMember http://127.0.0.1:5001 route=thin1
    BalancerMember http://127.0.0.1:5002 route=thin2
  </Proxy>
Run Code Online (Sandbox Code Playgroud)

但是,thin也可以配置为使用unix域套接字.

所以我希望能够做到这样的事情:

  <Proxy balancer://thinservers>
    BalancerMember unix://tmp/thin.0.sock route=thin0
    BalancerMember unix://tmp/thin.1.sock route=thin1
    BalancerMember unix://tmp/thin.2.sock route=thin2
  </Proxy>
Run Code Online (Sandbox Code Playgroud)

但Apache没有接受它.显然nginx可以做到,但我真的想使用Apache.

有办法吗?

apache ruby-on-rails mod-proxy thin

6
推荐指数
1
解决办法
2207
查看次数

如何使用Thin服务器而不是默认的Webrick来运行黄瓜硒?

我的黄瓜使用默认的Webrick服务器进行selenium运行(对于Rails 3应用程序).

如何强制或设置与Thin服务器而不是Webrick一起运行?要放入env.rb文件的任何设置还是其他?

selenium thin cucumber ruby-on-rails-3

6
推荐指数
2
解决办法
1459
查看次数

如何在Windows上使用Thin启动和停止Sinatra应用程序?

class App < Sinatra::Base
  def hello
    "world"
  end
end
Run Code Online (Sandbox Code Playgroud)

从文档中我发现我可以像这样启动应用程序:

App.run
Run Code Online (Sandbox Code Playgroud)

虽然这不会返回控件.

如何在后台启动应用程序,然后如何停止它.

我的环境是:Windows,Ruby 1.9.2

ruby windows thin sinatra

6
推荐指数
2
解决办法
1万
查看次数

如何在rails 3.1 app中重新启动瘦群集中的各个服务器

我有一个瘦集群设置启动3台服务器:

/etc/thin/myapp.yml

...
wait: 30
servers: 3
daemonize: true
...
Run Code Online (Sandbox Code Playgroud)

而我thin restart -C /etc/thin/myapp.yml用来重启.但是,我想一次重启每台服务器,以减少停机时间.

有没有办法按pid编号或位置重启每个服务器?

ruby-on-rails thin

6
推荐指数
2
解决办法
1904
查看次数

在不同端口上启动瘦服务器

我是个新手.我在rails应用程序上有一个ruby.今天我可以通过命令正常启动应用程序

sudo thin start -d
Run Code Online (Sandbox Code Playgroud)

我们已经为测试创建了一个新数据库.(一个是干净的数据库,而另一个是用于测试,因此可以搞砸)在database.yml文件上.

我想使用不同的数据库在两个不同的端口启动相同的应用程序.

要使用数据库启动应用程序,我可以使用thin的ENV选项:

sudo thin start -d -e production -p 3040
Run Code Online (Sandbox Code Playgroud)

它很好.但是,当我尝试启动"常规"服务器时,它说已经运行了.我怎么能在ame thin命令中启动这两个应用程序.有没有办法为此制作配置文件?

ruby-on-rails thin

6
推荐指数
1
解决办法
6910
查看次数

为什么简单的瘦服务器在基准测试时停止响应16500个请求?

可能重复:
'ab'程序在很多请求后冻结,为什么?

这是一个简单的测试服务器:

require 'rubygems'
require 'rack'
require 'thin'

class HelloWorld

  def call(env)
    [200, {"Content-Type" => "text/plain"}, "OK"]
  end
end

Rack::Handler::Thin.run HelloWorld.new, :Port => 9294 
#I've tried with these added too, 'rack.multithread' => true, 'rack.multiprocess' => true
Run Code Online (Sandbox Code Playgroud)

这是一个测试运行:

$ ab -n 20000 http://0.0.0.0:9294/sdf
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 0.0.0.0 (be patient)
Completed 2000 requests
Completed 4000 requests
Completed 6000 requests
Completed …
Run Code Online (Sandbox Code Playgroud)

ruby thin apachebench

6
推荐指数
1
解决办法
1921
查看次数

为API后端选择应用程序服务器

对于应用程序服务器(Passenger,Thin,Unicorn,Mongrel,Puma和Rainbows!)有这么多选择,我想知道什么适合以下场景:

Rails纯粹用于API后端(所有资产都与Nginx一起提供).某些API调用依赖于其他API服务,因此有时需要一段时间才能完成.

响应式应用程序用于移动,平板电脑和桌面客户端,因此无法保证客户端的连接.

在这种情况下,您认为哪种应用服务器是合适的?选择时应该考虑哪些事项?

passenger application-server thin ruby-on-rails-3 rainbows

6
推荐指数
1
解决办法
2850
查看次数

如何让ActionController :: Live流与Thin一起使用?

你可以用thinActionController::Live实现服务器端的事件(SSE)和长轮询?如果是这样,怎么样?

上下文

虽然标题是如何获取Rails 4 ActionController :: Live流与Thin和Ruby 2一起使用的重复Thin和Puma如何通过直播流扩展?OP通过提出两个问题来混淆水域,这个问题从未得到回答.

thin如果你通过exec thin start --threaded以下方式启动它,许多其他帖子建议你可以用于服务器端事件(sse):Heroku是否支持ActionController :: Live?Puma只有多线程导轨4 http服务器?,Aaron的开创性建筑http://tenderlovemaking.com/2012/07/30/is-it-live.html和Ryan常年可靠的http://railscasts.com/episodes/401-actioncontroller-live?view=asciicast.但即使我正在复制Railscast示例,我也无法使用它thin.

我试过的

# ----------------------------------------------------------------
# file: config/routes.rb
Rails.application.routes.draw do

  resources :widgets do
    collection do
      get 'events'              # SSE test
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

_

# ----------------------------------------------------------------
# file: config/environments/development.rb
Rails.application.configure do
    ... snip ...
    # see http://tenderlovemaking.com/2012/07/30/is-it-live.html
    config.preload_frameworks = true
    config.allow_concurrency = true
end …
Run Code Online (Sandbox Code Playgroud)

ruby streaming ruby-on-rails thin actioncontroller

6
推荐指数
1
解决办法
1104
查看次数

使用Sinatra + Thin,如何在登录期间获得特定的SSL客户端证书建议?

我正在运行一个小型sinatra应用程序,该应用程序重新使用每个员工已安装的公司范围的客户端证书(由内部SSO_CA签名).我的Sinatra/Thin组合使用由内部公司CA签署的服务器证书,但期望由SSO_CA签署的客户端证书.

从技术上讲,这是正常的,直到我们在我们的PC上获得第二个自签名客户证书.浏览器不确定要使用哪个证书并且猜测错误,大多数用户不会读取和使用新证书,这会以403错误结束.

此外,浏览器会记住该决定,您必须向许多人解释如何重置SSL状态.

=> Sinatra/Thin/Eventmachine没有提供一个选项:SSLCACertificateFiles '/usr/sinatra/certs/SSO_CA.crt' ,告诉浏览器"请出示SSO_CA的客户端证书"

Webrick有它,但这不是"生产"的正确选择.搬到Nginx感觉很奇怪,因为我不能成为第一个在Thin中遇到这个问题的人.我记得有一个地方在某个论坛(再也找不到)有人告诉我这个功能已经丢失,但是在我明白这也是我的问题之前我发现了这一点.

有没有人知道如何强制Thin/Eventmachine转发客户端证书的特定CA建议?:SSLCACertificateFiles事实并非如此,我已经尝试过了.

ssl thin client-certificates sinatra eventmachine

6
推荐指数
0
解决办法
104
查看次数