问题标签 [rack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3262 浏览

ruby - 在生产环境中调试 Sinatra 应用程序时遇到问题

我正在使用乘客部署 Sinatra 应用程序。部署的应用程序正在运行,但并非完全正常:一些路径运行良好,其他路径只是呈现空白页面。我似乎找不到有效的路线和无效的路线之间的任何主要区别,而且我似乎无法找到任何错误..

处理程序

我定义了 not_found 和错误处理程序如下:

这些在我的本地机器上运行良好,无论是在开发还是生产中,但我从来没有看到这些出现在服务器上。

阿帕奇日志

当我跟踪 Apache 的 access.log 并点击其中一条损坏的路径时,我看到了 500:

rack_hoptoad

我还在我的 config.ru 中安装并配置了 rack_hoptoad中间件,但没有例外将其用于 hoptoad。

日志记录

我已经像这样设置了日志记录..

此设置允许我在我的路由中调用logger.info,该路由在本地和服务器上运行以获取工作路由,但损坏的路径不足以调用 logger.info。

该怎么办?

关于如何查看导致 500 错误的原因的任何想法?谢谢你的帮助!

0 投票
2 回答
823 浏览

ruby-on-rails - Re-entrant subrequests in Rack/Rails

I've got a couple Engine plugins with metal endpoints that implement some extremely simple web services I intend to share across multiple applications. They work just fine as they are, but obviously, while loading them locally for development and testing, sending Net::HTTP a get_response message to ask localhost for another page from inside the currently executing controller object results in instant deadlock.

So my question is, does Rails' (or Rack's) routing system provide a way to safely consume a web service which may or may not be a part of the same app under the same server instance, or will I have to hack a special case together with render_to_string for those times when the hostname in the URI matches my own?

0 投票
6 回答
5902 浏览

ruby-on-rails - 基于 Ruby 的博客引擎

存在哪些支持 Rack 的博客引擎?我想向 heroku 部署一个免费博客,并且需要比 Wordpress.com 或 Blogerty 提供的免费托管更多的可定制性。

另外在另一个笔记中,有没有人尝试将 Wordpress 移植到 Ruby?

0 投票
3 回答
1959 浏览

javascript - 服务器端 javascript 引擎的 Ruby 绑定?

我希望我的机架应用程序能够与服务器端 javascript 引擎交互。

到目前为止,我知道这可能的唯一方法是在 JVM 上运行 JRuby 和 Rhino,但我希望有一个更精简的解决方案。

有没有人听说过另一个可能更红宝石的选项?

编辑:阅读评论我开始认为我误以为在 JVM 上运行 JRuby 和 Rhino 意味着 ruby​​ 和 javascript 之间的一些互操作性......?
无论如何,这对我来说不是一个理想的解决方案,但我仍然想澄清这一点。

0 投票
1 回答
917 浏览

ruby - 如何在 CGI 脚本中使用 ruby​​ Thin?

我编写了一些 ruby​​ CGI 脚本(使用 Ruby CGI 类),我使用 lighttpd 从我的生产服务器提供这些脚本。我想在我的开发服务器上使用 Thin 测试它们。基本上,我想将我所有的 CGI 脚本放在一个目录中,然后在该目录中开始精简。然后,对http://localhost:3000/<script >的任何请求都应该在当前目录中执行 <script> 并返回结果。如果瘦有这样做的内置方式,我找不到它。如果您知道自己在做什么,我会想象机架配置文件很容易,但我不知道。

更新:

这个机架文件似乎工作。我不确定这是否是最好的解决方案,但对于开发环境来说应该没问题。

0 投票
2 回答
306 浏览

ruby - 乘客返回 0 字节页面下的机架上的 Sinatra

我正在尝试编写一个将在共享乘客服务器上运行的 Sinatra 应用程序。现在,我很高兴能得到一个“hello world”,但有些事情不太正常。我有:

配置.ru

我的应用程序.rb

当然,我对 sinatra 需要的所有支持库都在 /vendor/sinatra-lib 下。我可以在我的本地机器上加载这个精确的负载,它运行起来就像一个冠军。但是,在远程机器上,我尝试访问的任何 URL 都会得到 0 字节的响应。请注意,我有一个 /public 目录,我可以成功地查看其中的页面,所以我猜 Rack 仍在响应。此外,我可以毫无问题地运行基本的 Rack 应用程序,因此必须正确配置 Rack(至少,正确地运行 Rack 应用程序)。

此时,我唯一能想到的就是检查远程服务器上的 Rack 等版本。我没有完全控制这个盒子,所以我真的没有日志输出可以分享。如果它很重要,我可以尝试追赶它,但我希望有人会跳出来。

0 投票
9 回答
16290 浏览

ruby-on-rails - 使用 Rails 2.3.5 绕过机架版本错误

我目前在 Dreamhost 上尝试运行 Rails 2.3.5 应用程序。

这里的情况是,Dreamhost 的服务器安装了 Rails 2.2.2。当然,我不能更新共享主机的 rails 版本,所以我在 vendor.js 中冻结了我的 Rails。Rails 2.3.5 需要 rack v1.0.1 gem。Dreamhost 使用 rack v1.0.0 gem。所以当我尝试定义:

我得到:

所以我真正需要做的是绕过我的应用程序使用1.0.1的请求,并使用Dreamhost的1.0.0。有谁知道如何配置这个?甚至可能吗?谢谢您的帮助。

0 投票
3 回答
748 浏览

ruby - Sinatra/Rack 睡眠直到响应就绪(如 Exchange ActiveSync)

我想在我现有的 Sinatra Web 应用程序中做一个轻量级的推送式 HTTP 响应。是否有任何机制允许我不响应 HTTP 请求并保持连接打开,直到我将来唤醒连接?

0 投票
1 回答
2285 浏览

ruby - Sinatra + Rack:Session:Pool

我正在使用 Rack:Session:Pool 进行基于内存的会话。我想访问在 Rack:Session:Pool 中联系的池实例变量,以便我可以看到所有活动会话和包含的数据。我怎样才能在 Sinatra 中或在 irb 提示符下做到这一点。

我最初的想法是::Sinatra:Application::Rack::Session:Pool,但这似乎给了我类而不是当前实例,因此无法访问池变量。

0 投票
4 回答
6844 浏览

ruby - 在 Windows 上的每个请求上重新加载 Sinatra 应用程序

我已经Rack::Reload根据这个线程设置

使用瘦 via 运行thin start -R config.ru,但它只重新加载新添加的路由。当我更改已经存在的路线时,它仍然运行旧代码。

当我添加新路线时,它会正确地重新加载它,因此它是可访问的,但它不会重新加载其他任何东西。

例如,如果我将路线更改为

/仍然发球foo,即使它已经改变,但/foo会正确地重新加载和发球baz

这是正常行为,还是我错过了什么?我希望重新加载整个源文件。我现在能想到的唯一方法是在文件系统更改时重新启动整个网络服务器。

我在 Windows Vista x64 上运行,所以我不能使用shotgun,因为fork().