Ruby Supervisord:如何获取rvm的源代码,并绑定exec以启动rails脚本?
我正试图用supervisord管理一个ruby脚本,但因为我还没有完全理解RVM是如何工作的,所以我无法正确地完成它 通常我只会做以下几件事: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
# 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
。