1

我使用“瘦”网络服务器进行 Rails 应用程序开发。启动瘦服务器有不同的方法。想知道以以下每种方式启动服务器是否有任何区别: 是否有任何优点或缺点。

一个。thin start 我可以在启动期间提供各种瘦特定参数,例如 ssl 选项。但我不确定如何在以下其余方法中提供此类启动参数。

湾。rails s(注:thin 在 gem 文件中提供)

C。rackup 我发现rackup在端口 9292 启动服务器,而其他方法在 3000 启动服务器

d。从 IDE 开始瘦身。例如,像 Rubymine(我使用的)这样的 IDE 有一种方便的方式来启动具有不同配置(如运行/调试)的服务器。

我发现使用 IDE 启动服务器的一个明显优势是调试非常无缝。同时我不确定如何传递“瘦”启动特定参数,例如 ssl 选项。(这是 ruby​​mine 特定的。如果有人对此有想法会很高兴。谢谢!)

(猜猜这个问题适用于任何与 rails 一起使用的网络服务器。但我在“瘦”的背景下提出了这个问题,因为我目前正在使用它)。

4

1 回答 1

0

IMO,所有这些方法都是一样的。

一个。thin start如果您不使用基于 Rack 的框架,则可以使用该命令。

湾。rails s命令的代理rackuprails服务器源

C。rackup是用于启动具有config.ru文件的基于机架的应用程序的命令。该文件通常包含服务器的配置。

d。我没有专门使用过 RubyMine,但我猜它类似于上述选项。

[TR;博士]

e. 还有一种方法(实际上,还有两种):通过使用 Thin 作为 nginx 后面的后端服务器。此设置通常用于生产环境以获得更好的吞吐量。Nginx 服务器接收传入的请求并将其发送到运行在它后面的瘦实例。这同样有两种配置方式:

  1. 普通 Thin + Nginx 配置,其中启动了几个瘦实例,它们直接接收来自 nginx 的请求。
  2. Thin + Nginx + Unix 套接字配置,其中 Nginx 服务器和每个 Thin 实例共享一个 unix 套接字。因此,请求的路径是:Interwebs -> Nginx -> Unix socket -> Thin 并且响应遵循类似的模式。

您可以在此处阅读有关 Thin 及其配置(和 nginx)的更多信息:https ://github.com/macournoyer/thin

于 2013-04-22T05:01:26.910 回答