相关疑难解决方法(0)

当我运行`rails server`时,如何让'puma'自动启动(就像Thin一样)

通常,当你运行rails server它时,启动Webrick.如果您安装'thin'宝石,那么'thin'会启动.我想用'puma'服务器做同样的事情.

我看到startrailties(lib/rails/commands)中的命令调用super,但我找不到'super'的各种选项.我还在'thin'中回顾了许多对Rails的引用.

我从2008年10月发现了一个名为"添加对脚本/服务器的精简支持.#488 [Bob Klosinski]"的Changelog条目,但该代码区域自该提交后发生了重大变化(a93ea88c0623b4f65af98c0eb55924c335bb3ac1).

如果有人可以将我引导到正确的代码部分,那将非常有帮助.

ruby-on-rails puma

29
推荐指数
3
解决办法
2万
查看次数

为什么Puma只绑定到tcp6?(通过`rails s`)

全新生成的Rails 4.2.0项目.Ran rails s,使用WEBrick表现得如预期:

vagrant@web1:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      27158/ruby2.1   
tcp6       0      0 ::1:3000                :::*                    LISTEN      27158/ruby2.1   
Run Code Online (Sandbox Code Playgroud)

添加puma到Gemfile,运行bundle,然后rails s再次; 想出了Puma,但只绑定了tcp6接口,而不是tcp:

vagrant@web1:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 ::1:3000                :::*                    LISTEN      27116/ruby2.1   
Run Code Online (Sandbox Code Playgroud)

有什么线索的原因?我一直在谷歌搜索没有运气.

更新:

跑步puma -b tcp://0.0.0.0:3000工作.但是,将bind指令添加到config/puma.rb并运行rails s不会:

bind 'tcp://0.0.0.0:3000'
Run Code Online (Sandbox Code Playgroud)

然而,我的配置文件中的threads/workers指令正在工作,因此我知道配置文件正在加载和使用.(甚至添加了一个put语句以确定.)

如果我只是运行puma,绑定到正确的接口,配置文件甚至会被拾取.我可能只需要运行puma而不是rails s,尽管它很烦人,必须添加到我的开发人员文档中.

UPDATE2:

我误解了.运行 …

ruby-on-rails ipv6 puma

9
推荐指数
1
解决办法
2123
查看次数

`rails server puma`与`puma`

一些指南(示例)建议您启动一个网络服务器

bundle exec rails server puma
Run Code Online (Sandbox Code Playgroud)

但我总是刚开始的服务器puma直接

bundle exec puma
Run Code Online (Sandbox Code Playgroud)

通过启动puma(或任何其他服务器)时会发生什么特别的事情rails server吗?

ruby-on-rails heroku puma

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

标签 统计

puma ×3

ruby-on-rails ×3

heroku ×1

ipv6 ×1