问题标签 [thin]

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 投票
2 回答
1874 浏览

ruby - 是否可以从 Thin/Rack/Sinatra 访问 Ruby EventMachine 通道?

我希望为利用 Sinatra 的内部项目构建一个简单的 RESTful 通知系统。我过去曾使用 EventMachine 频道来订阅/发布事件,但在我之前的所有案例中,我都直接使用 EventMachine。

有谁知道是否可以从 Sinatra 应用程序或什至从某些 Rack 中间件创建、订阅和发布到 EventMachine 通道(在 Thin 中运行)?

0 投票
8 回答
160615 浏览

ruby - 如何使用 nginx proxy_pass 保留请求 url

我试图使用应用服务器并且遇到了一个问题。

当 nginx使用应用程序将请求代理到 Thin(或 Unicorn)proxy_pass http://my_app_upstream;时,会收到 nginx ( http://my_app_upstream) 发送的修改后的 URL。

我想要的是传递原始 URL 和来自客户端的原始请求而无需修改,因为应用程序严重依赖它。

nginx 的文档说:

如果需要以未处理的形式传输 URI,则应使用指令 proxy_pass 而不使用 URI 部分。

但我不明白如何准确配置它,因为相关示例实际上是使用 URI:

那么您能否帮我弄清楚如何保留来自客户端的原始请求 URL

0 投票
3 回答
2669 浏览

ruby - OSX / Linux 上的 Monit + RVM + Thin

在尝试了几个小时(也尝试了上帝和 Bluepill)之后,我决定在这里问我的问题,因为我完全不知道如何解决这个问题。

我有一个 Rails 应用程序。我想使用 Thin 作为我的应用服务器。我想使用 Monit 来监控我的 Thin 实例。我使用 RVM 作为本地用户来管理我的 Ruby 版本。

我设置了以下监控文件,它可能会做我想做的事,但不会:

如果我只是将其复制/粘贴start program到命令行(在 Monit 之外),它就可以工作。stop program之后停止 Thin 实例也是如此。但是,通过 Monit 运行它似乎不起作用。

以详细模式运行它会-v产生以下结果:

这让我相信 Thin 从不初始化。Monit 是作为什么运行的root吗?因为如果确实如此,那么它显然不会安装正确的 gem,因为我使用的是 RVM 而不是“系统”Ruby。我目前在 OSX 上(但最终会部署到 Linux)——有人知道这可能是什么原因吗?如果Monit是通过root运行的,我怎么能让它使用RVM呢?或者我可以告诉 Monit 执行启动/停止程序Michael:staff吗(我假设它会在 OSX 上?)

任何帮助深表感谢!

0 投票
1 回答
721 浏览

ruby-on-rails - Windows 上的瘦 HTTP WebServer

我目前正在尝试让 Thin webserver 在 Windows 上运行,以在 NGINX 代理后面形成一个基本集群,但这被证明是相当困难的。我想知道是否有人真的成功地启动并运行了它?

举一些我尝试过的事情的例子:

我真的没有收到此错误消息。我已将我正在尝试的系统的环境输出包括在下面(我的开发系统)

希望有人一直在尝试这个。此外,我必须说,缺少 Windows 支持对于 Ruby on Rails 来说是一个如此严重的问题,这让我很恼火。我真的很喜欢其中的语言和编程,但是由于无法编译的依赖关系,让事情在 Windows 机器上运行很痛苦......

0 投票
2 回答
10824 浏览

ruby-on-rails - Capistrano 部署瘦服务器

一直在使用 Capistrano 在我的服务器和我的开发机器之间进行自动部署。我几乎已经配置好了,只是 Capistrano 似乎无法使用 bundle exec 命令启动我的服务器。我总是收到以下错误:

编辑:配置文件现在位于 /var/www/apps/current/thin.yml

只复制了相关的最后一部分。文件等的整个复制工作正常。它只是启动似乎失败的集群。这是我处理所有 Capistrano 内容的 deploy.rb 文件:

编辑:该文件已修改为以下内容:

编辑:这是我的 thin.yml 文件

编辑: 现在正在发生以下问题:

  1. 在最后一步从我的系统运行 cap deploy 命令时,我收到 Cannot find GemFile 错误:服务器的启动

  2. 不执行迁移

  3. 我似乎也无法手动启动集群了。只有一个瘦实例正在启动。

更新:这是我部署到的服务器的 gem env 设置。该信息是通过使用 cap shell 然后运行以下命令获得的:

0 投票
3 回答
1842 浏览

ruby-on-rails - 如何从一个应用程序开始瘦身?

在 /etc/thin/ 我有几个 yml 文件。当我运行service thin stop -C /etc/thin/app.yml瘦时停止所有应用程序,而不仅仅是我指定的应用程序。

如何让我只停止/启动指定的应用程序?

更新:嗯,/etc/init.d/thin有这个:$DAEMON restart --all $CONFIG_PATH。这解释了很多。是否有更智能的 init.d 脚本?这是我的脚本:

https://gist.github.com/1003131

也可以看看:

使用瘦即服务运行 Rails 应用程序

0 投票
1 回答
1597 浏览

ruby-on-rails - Rails 3.1 中的 HTTP 流式传输是否适用于 Thin?

Rails 3.1 支持 HTTP 流,但仅限于兼容的 Web 服务器。宣布 3.1 候选版本的博客文章提到了 Unicorn: http ://weblog.rubyonrails.org/2011/5/22/rails-3-1-release-candidate

API 文档还提到了 Unicorn,并为乘客提供了一个存根: https ://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/streaming.rb

有谁知道是否支持 Thin,如果支持,我在哪里可以找到配置信息?

0 投票
2 回答
740 浏览

ruby - Sinatra 会话未使用 Rack::FiberPool 保留

请求之间不会保留会话,但我看不出我做错了什么。代码!

0 投票
1 回答
1226 浏览

ruby-on-rails - 使用 Thin 和 SSL 时协议错误

所以我像这样瘦了:

然后我要去

有一个虚拟控制器操作:

输出是

不应该https取而代之吗?

0 投票
2 回答
2516 浏览

ruby-on-rails - Rails 3 捆绑器更新

我有一个在 nginx 后面的瘦 1.2.11 上运行的应用程序。我试图将我的应用程序更新到它bundle update在开发机器上使用的最新版本的 gem,提交到 git,然后运行cap deploy​​. 但是,瘦给了我以下错误:

在服务器上,我在系统范围内安装了以下 gem:

我的应用程序的 Gemfile:

我相信瘦需要机架 1.3,而我的 Gemfile 中的某些东西需要机架 1.2.3。我是否以错误的方式管理我的宝石?管理部署和适当的 gem 控制的正确方法是什么?

我发现 usingbundle exec thin start有效,但我更喜欢允许我使用/etc/init.d/thin start.