标签: puma

使用Rails和Puma与子域名lvh.me?

我正在使用带有子域的Rails 4,现在从Unicorn切换到Puma.似乎工作正常,但当我尝试启动"rails s"时,我得到:

Rails 4.2.0 application starting in development on http://localhost:3000
Run Code Online (Sandbox Code Playgroud)

我需要运行以下内容

rails s -p 3000 -b lvh.me
Run Code Online (Sandbox Code Playgroud)

要得到:

Rails 4.2.0 application starting in development on http://lvh.me:3000
Run Code Online (Sandbox Code Playgroud)

有没有办法让'rails s'始终自动启动lvh.me?在切换到Puma之前,我常常为我工作.

ruby-on-rails puma

14
推荐指数
1
解决办法
7176
查看次数

AWS EB错误:在所有实例上找到不正确的应用程序版本

我正在尝试使用EB CLI将应用程序部署到环境中,但我似乎遇到了奇怪的错误.有没有办法清空以前的应用程序版本,以便我可以上传一个新的应用程序?

我执行eb deploy后看到的消息.

Update environment operation is complete, but with errors. For more information, see troubleshooting documentation.
Run Code Online (Sandbox Code Playgroud)

我目前收到此错误:

Incorrect application version found on all instances. Expected version [app version]
Run Code Online (Sandbox Code Playgroud)

由于某种原因,日志文件似乎也被删除了.

deployment ruby-on-rails amazon-web-services puma amazon-elastic-beanstalk

14
推荐指数
3
解决办法
8068
查看次数

无法在OS X Yosemite上构建puma gem

(修订)问题:

在我的OS X Yosemite(10.10.1)系统上安装puma gem需要什么?我已经用尽了许多途径(我有XCode工具,我有OpenSSL),但在尝试构建原生扩展时仍然失败.

问题

在我的OS X系统上,当我这样做时:

$ gem install puma
Run Code Online (Sandbox Code Playgroud)

我明白了:

Building native extensions.  This could take a while...
ERROR:  Error installing puma:
        ERROR: Failed to build gem native extension.

    /Users/home/sandbox/usr/bin/ruby extconf.rb
checking for SSL_CTX_new() in -lssl... no
checking for SSL_CTX_new() in -lssleay32... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options: …
Run Code Online (Sandbox Code Playgroud)

gem openssl ruby-on-rails puma

13
推荐指数
2
解决办法
3620
查看次数

如何检测我的代码是否在Sidekiq服务器或Puma"内部"运行?

我正在使用Puma作为Web服务器,而Sidekiq作为我的队列运行器.

对于多个事物(数据库连接,Redis连接,其他外部服务),我正在使用ConnectionPool gem来管理对连接的安全访问.

现在,根据我是在Sidekiq还是Puma的上下文中运行,我需要这些池的大小不同(分别与Sidekiq线程或Puma线程的数量一样大,它们是不同的)

在初始化程序中,了解基于执行上下文建立连接池的最佳方法的最佳方法是什么?

谢谢!

ruby connection-pooling sidekiq puma ruby-on-rails-4

13
推荐指数
1
解决办法
2030
查看次数

Foreman/Puma没有在dev env中使用指定的端口

我在我的application.yml中设置端口为3000(figaro管理env变量) rails s使用端口3000但是当我运行时foreman start(按照Heroku的推荐)我得到以下输出

14:53:23 web.1  | started with pid 24425
14:53:23 web.1  | [24425] Puma starting in cluster mode...
14:53:23 web.1  | [24425] * Version 2.11.1 (ruby 2.2.0-p0), codename: Intrepid Squirrel
14:53:23 web.1  | [24425] * Min threads: 5, max threads: 5
14:53:23 web.1  | [24425] * Environment: development
14:53:23 web.1  | [24425] * Process workers: 2
14:53:23 web.1  | [24425] * Preloading application
14:53:24 web.1  | WARNING: Skipping key "PORT". Already set in ENV.
14:53:25 …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails heroku foreman puma

13
推荐指数
1
解决办法
4238
查看次数

Puma在哪里登录

我一直在使用Thin来运行我的ruby Sinatra应用程序,但我现在正在切换到Puma.Thin创建log/thin.log我自己使用的日志.我注意到Puma没有生成日志文件(不是我能看到的).我已经尝试使用谷歌搜索文档,但没有找到任何东西.

我想知道是否/如何在Puma中指定日志路径.

任何帮助将非常感激.

亚历克斯

ruby logging webserver thin puma

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

如何使用Puma配置Rails以使用SSL?

我只发现了如何使用SSL启动puma:

$ puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'

但是,没有关于如何在文档中包含中间CA证书的说明.有人能指出我正确的方向吗?我正在使用Puma1.6.3

谢谢!

ssl ruby-on-rails puma

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

服务器发送事件和Rails流

我正在尝试使用Rails 4 ActionController::Live和Server Sent Events.我正在使用MRI 2.0.0和Puma.

我可以看到,每个连接的客户端都保持与服务器的活动连接.我想知道是否可以在不保持所有响应流运行的情况下利用SSE.

Puma使用线程管理多个连接,我想cuncurrent连接的数量是有限的.
如果我想支持数以千计的客户注册到我的Rails应用程序进行SSE事件的真实场景,该怎么办?

有什么例子吗?

此外,我通常在nginx反向代理后面运行Rails应用程序服务器.它需要任何特定的设置吗?

ruby ruby-on-rails nginx server-sent-events puma

11
推荐指数
1
解决办法
1408
查看次数

使用Puma的工人,线程和池大小

如果我有一个1核心的服务器,有多少puma worker,thread和什么数据库池大小合适?

一般大拇指在这里是什么?

ruby pool worker puma

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

RuntimeError:在Rack中迭代期间无法将新键添加到哈希中

我构建了一个非常小的Rails 5.1.4(Ruby 2.3.1)应用程序.一旦我将其部署到生产环境中,我就会不时收到此特定错误:

RuntimeError: can't add a new key into hash during iteration

指向这里:

# rack/request.rb, line 67
def set_header(name, v)
  @env[name] = v
end
Run Code Online (Sandbox Code Playgroud)

我理解,当您尝试在迭代该哈希时向哈希添加新密钥时,会发生此错误.既然@env是哈希,那就有意义了.但:

  1. 在堆栈跟踪中,我发现没有任何与迭代相关的内容@env,它是一个简单的死链接app.call(env).
  2. 这个错误并不总是发生,但每小时或两次只发生一次,所以这对我来说也是非常奇怪的
  3. 我无法在本地重现它:我尝试加载具有多个请求命中的服务器,假设这可能是线程安全问题,但在本地它就像一个魅力......

完整的堆栈跟踪只包含机架中间件,可以在这里找到:https: //gist.github.com/Nattfodd/e513122400b4115a653ea38d69917a9a

Gemfile.lock:https://gist.github.com/Nattfodd/a9015e9204544302bf3959cec466b715

服务器运行时使用puma,配置非常简单:只是线程和工作量:

threads 0, 5
workers 5
Run Code Online (Sandbox Code Playgroud)

我目前的想法是:

  • 监控宝石之一有一个bug(sentry-raven,new_relic)
  • concurrent-ruby有一个bug(我读过一个,但它在1.0.2中得到修复,而我用于Puma的实际版本是1.0.5)
  • 一些超级愚蠢的东西,我错过了,但我不知道在哪里看,因为控制器的动作包含3行代码,应用程序配置主要是默认的......
  • 这是配置相关的东西,因为回溯根本不包含控制器......

rack ruby-on-rails sinatra puma

11
推荐指数
1
解决办法
636
查看次数