【问题标题】:Passenger and Nginx or Passenger Standalone only?乘客和 Nginx 或仅乘客独立?
【发布时间】:2012-04-12 21:31:27
【问题描述】:

如果我的问题看起来不恰当,但我无法找到有关我的问题的任何信息,请原谅。

我目前正在为我的 rails 应用程序选择生产网络服务器,Passenger 似乎完全符合我的需求,尽管我脑海中突然出现了一个小问题。

Passenger好像已经是基于Nginx核心的了,但是我看到还有一个版本passenger-nginx。如果它们都是基于 Nginx 的,它们之间有什么区别?

提前谢谢你。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 nginx passenger


    【解决方案1】:

    Passenger Standalone 足以在生产环境中运行,使用 OS 包可能更容易

    • 安装通常像yum installapt-get install 一样简单
    • 通常包括所有适当的启动脚本,例如/etc/init.d/nginx
    • 您不必编写脚本来确保它在重新启动后启动。 Ubuntu 会自动设置它,在 CentOS/RedHat 上,这只是对chkconfig 的一次性调用
    • 打开端口 80 和 443 通常需要 root,但您的应用程序应该以普通非特权用户身份执行。操作系统包会自动处理这个问题。
    • 运行 nginx 的共享副本意味着您可以根据需要由不同用户从同一服务器运行多个站点/应用程序。

    Passenger 似乎已经基于 Nginx 核心,但我看到了 也是一个版本的乘客-nginx。他们之间有什么区别 如果它们都是基于 Nginx 的?

    几乎没有区别。乘客独立只是自动设置 nginx(如果你还没有它)和乘客 nginx。独立乘客通常在端口 3000 或另一个高端口号上以普通非特权用户身份启动,而 Nginx 通常使用端口 80 和 443 以 root 身份启动。

    【讨论】:

    • 如何在没有 nginx 的情况下使用乘客?我没有看到 wsgi 的日志……很难理解粘合进程的情况。
    【解决方案2】:

    Nginx 是该乘客之上的 Web 服务器,它完成了一些绑定(通常),因此 Rails 应用程序工作,在此之前我们必须设置 mogrel 集群或类似的。

    所以有两种方式可以使用 nginx+passenger 1) 独立方式 2) 一般适用于所有应用

    独立方式最好用于开发环境 因此,如果您已经安装了乘客,那么通常对于所有应用程序 你可以运行passenger-install-nginx-module它会分为两种安装nginx的方式

    如果 nginx 已经存在,则指定目录,否则它将下载并安装 nginx,如果您想向 nginx 添加另一个自定义库,例如上传模块等,您可以在安装时指定库的路径。

    我希望这能弄清楚一些基本情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多