我正在使用带有子域的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之前,我常常为我工作.
我正在尝试使用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
在我的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) 我正在使用Puma作为Web服务器,而Sidekiq作为我的队列运行器.
对于多个事物(数据库连接,Redis连接,其他外部服务),我正在使用ConnectionPool gem来管理对连接的安全访问.
现在,根据我是在Sidekiq还是Puma的上下文中运行,我需要这些池的大小不同(分别与Sidekiq线程或Puma线程的数量一样大,它们是不同的)
在初始化程序中,了解基于执行上下文建立连接池的最佳方法的最佳方法是什么?
谢谢!
我在我的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) 我一直在使用Thin来运行我的ruby Sinatra应用程序,但我现在正在切换到Puma.Thin创建log/thin.log我自己使用的日志.我注意到Puma没有生成日志文件(不是我能看到的).我已经尝试使用谷歌搜索文档,但没有找到任何东西.
我想知道是否/如何在Puma中指定日志路径.
任何帮助将非常感激.
亚历克斯
我只发现了如何使用SSL启动puma:
$ puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'
但是,没有关于如何在文档中包含中间CA证书的说明.有人能指出我正确的方向吗?我正在使用Puma1.6.3
谢谢!
我正在尝试使用Rails 4 ActionController::Live和Server Sent Events.我正在使用MRI 2.0.0和Puma.
我可以看到,每个连接的客户端都保持与服务器的活动连接.我想知道是否可以在不保持所有响应流运行的情况下利用SSE.
Puma使用线程管理多个连接,我想cuncurrent连接的数量是有限的.
如果我想支持数以千计的客户注册到我的Rails应用程序进行SSE事件的真实场景,该怎么办?
有什么例子吗?
此外,我通常在nginx反向代理后面运行Rails应用程序服务器.它需要任何特定的设置吗?
如果我有一个1核心的服务器,有多少puma worker,thread和什么数据库池大小合适?
一般大拇指在这里是什么?
我构建了一个非常小的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是哈希,那就有意义了.但:
@env,它是一个简单的死链接app.call(env).完整的堆栈跟踪只包含机架中间件,可以在这里找到: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)
我目前的想法是: