在一台专用服务器上运行两个不同的 Rails 应用程序

2024-02-22

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

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

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

可以这样做吗?如果是的话——我该怎么做? Phusion Passenger 与 Apache 是一个好方法吗?如果是 - 如何使用一台 Phusion Passenger 服务器配置两个应用程序?


我将描述如何使用 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 中将具有相似的连接信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一台专用服务器上运行两个不同的 Rails 应用程序 的相关文章

随机推荐