【问题标题】:Run two different Rails application on one dedicated server在一台专用服务器上运行两个不同的 Rails 应用程序
【发布时间】:2011-11-21 08:32:52
【问题描述】:

我有一台具有以下配置的专用服务器

i3 - Dual Core - 3.06Ghz H/T
16GB RAM
500GB SATA2

现在我想在一台专用服务器上执行两个不同的 Rails 应用程序。两个应用程序都不同,但它们使用的是通用数据库。

有可能做到吗?如果是——我该怎么做? 使用 Apache 的 Phusion Passenger 是一个好方法吗?如果是 - 如何使用一个 Phusion Passenger 服务器配置两个应用程序?

【问题讨论】:

    标签: ruby-on-rails ruby passenger dedicated-server


    【解决方案1】:

    我将描述如何使用 Apache、Phusion Passenger 和某些版本的 Ruby 在一台 Linux 服务器上运行多个 Rails 应用程序。您有很多选择,但这应该可以帮助您入门。其中许多细节来自安装脚本

    首先,安装 Phusion Passenger。

    > gem install passenger
    

    其次,构建 Apache 2 Passenger 模块。您应该能够执行在第一步中安装的以下脚本。

    > passenger-install-apache2-module
    

    此脚本将编译 Apache 2 模块并解释如何配置 Apache。如果缺少依赖项,脚本应该提供一些有关如何安装它们的有用建议。

    第三,编辑您的 Apache 配置文件。我必须添加这样的东西。 (只需将其用作参考,不要担心 .rvm)在第二步中运行的脚本将为您提供可以复制和粘贴的内容。

    LoadModule passenger_module /Users/me/.rvm/gems/ree/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
    PassengerRoot /Users/me/.rvm/gems/ree/gems/passenger-3.0.9
    PassengerRuby /Users/me/.rvm/wrappers/ree/ruby
    

    第四,将类似的内容添加到您的 Apache 配置文件中为您要运行的每个应用程序

    <VirtualHost *:80>
      ServerName app1.example.com
      DocumentRoot /somewhere/app1/public    # <-- be sure to point to 'public'!
      <Directory /somewhere/app1/public>
         AllowOverride all              # <-- relax Apache security settings
         Options -MultiViews            # <-- MultiViews must be turned off
      </Directory>
    </VirtualHost>
    

    如果您有两个 Rails 应用程序共享一个数据库,那么它们在 config/database.yml 中都会有相似的连接信息

    【讨论】:

    • 我可以同时用 Apache2 加载不同版本的passenger_module 吗?因为我有两个具有不同 ruby​​ 版本(和 gemsets)的 Rails 应用程序?
    【解决方案2】:

    是的,这绝对是可能的。我从来没有用Passenger + Apache做过,但我相信那是个好方法。我只用thin + nginx做过。

    【讨论】:

    • 我能提供更多细节吗?任何链接?或任何我可以开始思考或可能正在部署应用程序的事情。
    【解决方案3】:

    Passenger Phusion 与 Apache 是一种可靠的方法。他们使用同一个数据库这一事实应该不是问题(只要确保他们不会以任何方式互相踩踏)。

    一般情况下,只需照常设置即可,但请查看基于 Apache 名称的虚拟主机:

    http://httpd.apache.org/docs/2.2/vhosts/name-based.html

    【讨论】:

      猜你喜欢
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 2019-01-26
      • 2019-08-03
      • 2018-11-04
      • 2014-02-12
      • 1970-01-01
      相关资源
      最近更新 更多