Ruby Supervisord:如何获取rvm的源代码,并绑定exec以启动rails脚本?

Ruby Supervisord:如何获取rvm的源代码,并绑定exec以启动rails脚本?,ruby,rvm,bundler,supervisord,Ruby,Rvm,Bundler,Supervisord,我正试图用supervisord管理一个ruby脚本,但因为我还没有完全理解RVM是如何工作的,所以我无法正确地完成它 通常我只会做以下几件事: # sourcing of rvm done automatically on ssh login cd /var/rails/myapp RAILS_ENV="production" bundle exec ./script/backgroundrb 但使用以下配置文件,我无法执行此操作: [program:owgm] directory=/var

我正试图用supervisord管理一个ruby脚本,但因为我还没有完全理解RVM是如何工作的,所以我无法正确地完成它

通常我只会做以下几件事:

# sourcing of rvm done automatically on ssh login
cd /var/rails/myapp
RAILS_ENV="production" bundle exec ./script/backgroundrb
但使用以下配置文件,我无法执行此操作:

[program:owgm]
directory=/var/rails/owgm
command=bundle exec ./script/backgroundrb
environment=RAILS_ENV="production"
PATH="/usr/local/rvm/gems/ree-1.8.7-2012.02@global/bin/bundle:$PATH"
autostart=true
autorestart=true
我得到以下错误:

无法加载OpenSSL。您必须使用OpenSSL支持重新编译Ruby,或者将文件中的源代码从“https”更改为“http”。 有关使用RVM使用OpenSSL进行编译的说明,请访问 rvm.io/packages/openssl

看起来我没有找到合适的ruby环境

我认为设置路径会起作用,因为如果我这样做:

which bundle
我得到:/usr/local/rvm/gems/ree-1.8.7-2012。02@global/箱子/包裹

但我甚至不知道发生了什么

使用Python,我将执行以下操作:

command=/path/to/virtualenv/bin/python /path/to/script.py
我可以用ruby做些类似的事情吗

rvm info的输出为:

ree-1.8.7-2012.02:

  system:
    uname:       "Linux owtb2 3.2.0-44-generic #69-Ubuntu SMP Thu May 16 17:35:01 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux"
    system:      "ubuntu/12.04/x86_64"
    bash:        "/bin/bash => GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.21.3 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "4 months 4 days 3 hours 54 minutes 35 seconds ago"

  ruby:
    interpreter:  "ruby"
    version:      "1.8.7"
    date:         "2012-02-08"
    platform:     "x86_64-linux"
    patchlevel:   "2012-02-08 MBARI 8/0x6770 on patchlevel 358"
    full_version: "ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02"

  homes:
    gem:          "/usr/local/rvm/gems/ree-1.8.7-2012.02"
    ruby:         "/usr/local/rvm/rubies/ree-1.8.7-2012.02"

  binaries:
    ruby:         "/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/ruby"
    irb:          "/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/irb"
    gem:          "/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/gem"
    rake:         "/usr/local/rvm/gems/ree-1.8.7-2012.02@global/bin/rake"

  environment:
    PATH:         "/usr/local/rvm/gems/ree-1.8.7-2012.02/bin:/usr/local/rvm/gems/ree-1.8.7-2012.02@global/bin:/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
    GEM_HOME:     "/usr/local/rvm/gems/ree-1.8.7-2012.02"
    GEM_PATH:     "/usr/local/rvm/gems/ree-1.8.7-2012.02:/usr/local/rvm/gems/ree-1.8.7-2012.02@global"
    MY_RUBY_HOME: "/usr/local/rvm/rubies/ree-1.8.7-2012.02"
    IRBRC:        "/usr/local/rvm/rubies/ree-1.8.7-2012.02/.irbrc"
    RUBYOPT:      ""
    gemset:       ""
ree-1.8.7-2012.02:
系统:
uname:“Linux owtb2 3.2.0-44-generic#69 Ubuntu SMP周四5月16日17:35:01 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux”
系统:“ubuntu/12.04/x86_64”
bash:“/bin/bash=>GNUBash,版本4.2.25(1)-发行版(x86_64-pc-linux-GNU)”
zsh:“=>未安装”
rvm:
版本:“rvm 1.21.3(稳定版)作者:韦恩E.塞根,迈克尔·帕皮斯[https://rvm.io/]"
更新:“4个月4天3小时54分35秒前”
红宝石:
翻译:“ruby”
版本:“1.8.7”
日期:“2012-02-08”
平台:“x86_64-linux”
修补级别:“2012-02-08 MBARI 8/0x6770修补级别358”
完整版本:“ruby 1.8.7(2012-02-08 MBARI 8/0x6770,补丁级别358)[x86_64-linux],MBARI 0x6770,ruby企业版2012.02”
家园:
gem:“/usr/local/rvm/gems/ree-1.8.7-2012.02”
ruby:“/usr/local/rvm/rubies/ree-1.8.7-2012.02”
二进制文件:
ruby:“/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/ruby”
irb:“/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/irb”
gem:“/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/gem”
rake:“/usr/local/rvm/gems/ree-1.8.7-2012。02@global/垃圾桶/耙”
环境:
路径:“/usr/local/rvm/gems/ree-1.8.7-2012.02/bin:/usr/local/rvm/gems/ree-1.8.7-2012。02@global/bin:/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games”
GEM_主页:“/usr/local/rvm/gems/ree-1.8.7-2012.02”
GEM_路径:“/usr/local/rvm/gems/ree-1.8.7-2012.02:/usr/local/rvm/gems/ree-1.8.7-2012。02@global"
我家:“/usr/local/rvm/rubies/ree-1.8.7-2012.02”
IRBRC:“/usr/local/rvm/rubies/ree-1.8.7-2012.02/.IRBRC”
鲁比奥普特:“
宝石:“
它应该是:

PATH="/usr/local/rvm/wrappers/ree-1.8.7-2012.02@global:$PATH"

多亏了@mpapis的建议,我才想出了一些可行的办法

不幸的是,他的建议没有,但他是对的,因为我必须查看/usr/local/rvm/wrappers

这是工作配置文件:

[program:owgm]
directory=/var/rails/owgm
command=/usr/local/rvm/wrappers/ree-1.8.7-2012.02/bundle exec ./script/backgroundrb
environment=RAILS_ENV="production"
autostart=true
autorestart=true

对于第一种配置,rvm info的输出是什么?通过以这种方式设置路径,您将绕过rvm并强制使用ruby-ree-1.8.7 bins…添加了rvm infonear的输出。。我不得不调整一些东西,让它工作起来。建议的Thx位于wrappers文件夹旁。这是什么?在wrappers目录中,您可以找到ruby的最常见的二进制文件,这些二进制文件包装在一个加载适当环境的脚本中,然后加载二进制文件,如果您需要加载其他二进制文件,那么您可以运行一个可用的二进制文件:
rvm wrapper ruby version——无链接二进制文件\u name