【问题标题】:Starting thin webserver in different ways以不同方式启动瘦 Web 服务器
【发布时间】:2013-04-22 04:43:51
【问题描述】:

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

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

b. rails s(注:在gem文件中提供thin)

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails thin


    【解决方案1】:

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

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

    b. rails s 代理 rackup 命令。 rails server source

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

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

    [TR;DR]

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多