以不同方式启动瘦Web服务器

时间:2013-04-22 04:43:51

标签: ruby-on-rails thin

我使用' thin'用于rails应用程序开发的webserver。有不同的方法来启动瘦服务器。很想知道以下列方式启动服务器是否有任何不同之处:是否有任何优点或缺点。

一个。 thin start 我可以在启动期间提供各种精简的特定参数,例如ssl选项。但我不知道如何在以下其他方法中提供这样的启动参数。

rails s(注意:gem文件中提供了thin)

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

d。从IDE开始瘦身。例如,像Rubymine这样的IDE(我使用的)有一个方便的方法来启动具有不同配置的服务器,例如Run / Debug。

我发现使用IDE启动服务器的一个明显优势是调试非常无缝。同时我也不确定如何通过“瘦身”。启动特定参数,例如ssl选项。(这是rubymine特定的。如果有人对此有所了解,会很高兴。谢谢!)

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

1 个答案:

答案 0 :(得分:0)

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

一个。 thin start是一个可以在不使用基于Rack的框架时使用的命令。

rails s命令的rackup代理。 rails server source

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

d。我没有特别使用RubyMine,但我猜它与上面的选项类似。

[TR; DR]

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

  1. 普通Thin + Nginx配置,其中启动了几个精简实例,并且它们直接从nginx接收请求。
  2. Thin + Nginx + Unix套接字配置,其中Nginx服务器和每个Thin实例共享一个unix套接字。因此,请求的路径是:Interwebs - > Nginx - > Unix套接字 - >薄,响应遵循类似的模式。
  3. 您可以在此处阅读有关瘦身及其配置(和nginx)的更多信息:https://github.com/macournoyer/thin