[英]Multiple Rails apps on different Ruby versions on the same server
在RubyMine中,我可以选择项目的目标Ruby版本并运行它。
现在开始生产。
我们有两种变体来构建Rails应用程序的主机:
如何在为每种Ruby版本构建的两个Rails应用程序的每个配置上运行?
要求:两个应用程序都应在同一台服务器上,不同的虚拟主机上运行。
已安装RVM。
部署应用程序时,一种选择不同Ruby版本的简单方法是使用Capistrano进行部署。 在对应用程序进行验证之后,是时候向Capfile
添加一些行了
您的Capfile
应该看起来像这样
require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano/rvm'
这样,您就可以将特殊的RVM选项加载到Capistrano中,从而可以指定要使用的红宝石版本。
要指定一个特定的Ruby使用的版本,你可以添加一行到您deploy.rb
系统范围的部署选项,或者您的production.rb
或staging.rb
如果你想每个服务器的不同版本的红宝石。
通过添加以下行,您可以指定所需的Ruby版本:
set :rvm_ruby_version, '2.0.0-p247'
部署应用程序后,您仍然必须指定乘客将使用的红宝石版本。 您可以通过编辑特定于站点或子域的apache配置文件来指定此设置。 编辑Apache配置文件时。
<VirtualHost *:80>
PassengerRuby /home/someuser/.rvm/wrappers/<ruby-version-here>/ruby
******
</VirtualHost>
通过先执行rvm use <ruby version>
,然后执行which ruby
应该可以为您提供在VirtualHost文件中输入的路径,可以查看所需的rvm use <ruby version>
。
希望对你有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.