加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Supervisord:如何获取rvm,并捆绑exec来启动rails脚本?

发布时间:2020-12-17 03:37:47 所属栏目:百科 来源:网络整理
导读:我正在尝试用supervisord管理一个 ruby脚本,但因为我还没有完全理解RVM是如何工作的,所以我无法正确地完成它. 通常我会做以下事情: # sourcing of rvm done automatically on ssh logincd /var/rails/myappRAILS_ENV="production" bundle exec ./script/bac
我正在尝试用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

我收到以下错误:

Could not load OpenSSL. You must recompile Ruby with OpenSSL support or change the sources in your Gemfile from ‘https’ to ‘http’.
Instructions for compiling with OpenSSL using RVM are available at
rvm.io/packages/openssl.

看起来我无法获得正确的ruby环境.

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

which bundle

我得到:/usr/local/rvm/gems/ree-1.8.7-2012.02@global/bin/bundle

但我甚至不确定发生了什么.

使用Python我会做类似的事情:

command=/path/to/virtualenv/bin/python /path/to/script.py

我可以用ruby做类似的事吗?

rvm信息的输出是:

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:       ""

解决方法

感谢@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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读