溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

部署ruby環(huán)境時(shí)需要注意什么

發(fā)布時(shí)間:2021-09-26 16:54:26 來(lái)源:億速云 閱讀:95 作者:柒染 欄目:系統(tǒng)運(yùn)維

本篇文章為大家展示了部署ruby環(huán)境時(shí)需要注意什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

前言:

一年多前業(yè)務(wù)使用到redis-cluster集群,然而當(dāng)時(shí)部署時(shí),redis-cluster集群采用的是ruby 語(yǔ)言開(kāi)發(fā)的腳本redis-trib.rb 來(lái)進(jìn)行管理集群的。所以當(dāng)時(shí)給服務(wù)器安裝了ruby環(huán)境。最近項(xiàng)目再一次使用到了redis-cluster集群,所以沒(méi)多想,直接照著當(dāng)時(shí)的文檔記錄直接開(kāi)干,居然行不通了,遇到了各種報(bào)錯(cuò),此次記錄在此方便后續(xù)使用查看.

服務(wù)器環(huán)境:centos7.6x84_64位,最小化安裝
直接部署ruby環(huán)境:

yum -y install ruby ruby-devel
yum -y install rubygems
[root@localhost ~]# which gem
/usr/bin/gem
[root@localhost ~]# gem sources --remove http://rubygems.org/   http://rubygems.org/ removed from sources
source http://rubygems.org/ not present in cache
[root@localhost ~]# gem sources -l
***CURRENT SOURCES ***
https://rubygems.org/
[root@localhost ~]# curl -L get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   194  100   194    0     0    379      0 --:--:-- --:--:-- --:--:--   379
curl: (7) Failed connect to raw.githubusercontent.com:443; 拒絕連接

于是添加淘寶ruby源:

 [root@localhost ~]# gem sources --add https://ruby.taobao.org/   https://ruby.taobao.org/ added to sources
Error fetching https://ruby.taobao.org/:
    hostname "ruby.taobao.org" does not match the server certificate (https://ruby.taobao.org/specs.4.8.gz)

原來(lái)是taobao Gems 源已停止維護(hù),現(xiàn)由 ruby-china 提供鏡像服務(wù),即我們要換源
參考地址:https://blog.csdn.net/chris_ime/article/details/52013349

gem sources -a   https://gems.ruby-china.com/
[root@localhost ~]# gem sources -a   https://gems.ruby-china.com/
https://gems.ruby-china.com/ added to sources
[root@localhost ~]# gem sources -l
*** CURRENT SOURCES ***
https://rubygems.org/
https://gems.ruby-china.com/

安裝RVM:

[root@localhost soft]# curl -L get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   194  100   194    0     0     99      0  0:00:01  0:00:01 --:--:--    99
100 24535  100 24535    0     0   5477      0  0:00:04  0:00:04 --:--:-- 20299
Downloading https://github.com/rvm/rvm/archive/1.29.9.tar.gz

Downloading https://github.com/rvm/rvm/releases/download/1.29.9/1.29.9.tar.gz.asc
gpg: 已創(chuàng)建目錄‘/root/.gnupg’
gpg: 新的配置文件‘/root/.gnupg/gpg.conf’已建立
gpg: 警告:在‘/root/.gnupg/gpg.conf’里的選項(xiàng)于此次運(yùn)行期間未被使用
gpg: 鑰匙環(huán)‘/root/.gnupg/pubring.gpg’已建立
gpg: 于 2019年07月10日 星期三 16時(shí)31分02秒 CST 創(chuàng)建的簽名,使用 RSA,鑰匙號(hào) 39499BDB
gpg: 無(wú)法檢查簽名:沒(méi)有公鑰
GPG signature verification failed for '/usr/local/rvm/archives/rvm-1.29.9.tgz' - 'https://github.com/rvm/rvm/releases/download/1.29.9/1.29.9.tar.gz.asc'! Try to install GPG v2 and then fetch the public key:

    gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

or if it fails:

    command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
    command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

In case of further problems with validation please refer to https://rvm.io/rvm/security
[root@localhost soft]# echo $?
2

報(bào)錯(cuò)了,根據(jù)提示如下操作:

[root@localhost soft]# gpg --keyserver hkp://keys.gnupg.net --recv-keys ^C
[root@localhost soft]# gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB 
gpg: 鑰匙環(huán)‘/root/.gnupg/secring.gpg’已建立
gpg: 下載密鑰‘D39DC0E3’,從 hkp 服務(wù)器 pool.sks-keyservers.net
gpg: 下載密鑰‘39499BDB’,從 hkp 服務(wù)器 pool.sks-keyservers.net
gpg: /root/.gnupg/trustdb.gpg:建立了信任度數(shù)據(jù)庫(kù)
gpg: 密鑰 D39DC0E3:公鑰“Michal Papis (RVM signing) <mpapis@gmail.com>”已導(dǎo)入
gpg: 密鑰 39499BDB:公鑰“Piotr Kuczynski <piotr.kuczynski@gmail.com>”已導(dǎo)入
gpg: 沒(méi)有找到任何絕對(duì)信任的密鑰
gpg: 合計(jì)被處理的數(shù)量:2
gpg:           已導(dǎo)入:2  (RSA: 2)
[root@localhost soft]# curl -L http://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   194  100   194    0     0     97      0  0:00:02  0:00:01  0:00:01    97
curl: (7) Failed connect to raw.githubusercontent.com:443; 拒絕連接
[root@localhost soft]# curl -L http://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   194  100   194    0     0     94      0  0:00:02  0:00:02 --:--:--    94
100 24535  100 24535    0     0   2868      0  0:00:08  0:00:08 --:--:--  5254
Downloading https://github.com/rvm/rvm/archive/1.29.9.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.9/1.29.9.tar.gz.asc
gpg: 于 2019年07月10日 星期三 16時(shí)31分02秒 CST 創(chuàng)建的簽名,使用 RSA,鑰匙號(hào) 39499BDB
gpg: 完好的簽名,來(lái)自于“Piotr Kuczynski <piotr.kuczynski@gmail.com>”
gpg: 警告:這把密鑰未經(jīng)受信任的簽名認(rèn)證!
gpg:       沒(méi)有證據(jù)表明這個(gè)簽名屬于它所聲稱(chēng)的持有者。
主鑰指紋: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDB
GPG verified '/usr/local/rvm/archives/rvm-1.29.9.tgz'
Creating group 'rvm'
Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete:

  * First you need to add all users that will be using rvm to 'rvm' group,
    and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

  * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
  * Please do NOT forget to add your users to the rvm group.
     The installer no longer auto-adds root or users to the rvm group. Admins must do this.
     Also, please note that group memberships are ONLY evaluated at login time.
     This means that users must log out then back in before group membership takes effect!
Thanks for installing RVM 

[root@localhost soft]# echo $?
0

到此處rvm安裝成功

加載rvm環(huán)境:

[root@localhost soft]#  find / -name rvm -print
/usr/local/rvm
/usr/local/rvm/src/rvm
/usr/local/rvm/src/rvm/bin/rvm
/usr/local/rvm/src/rvm/lib/rvm
/usr/local/rvm/src/rvm/scripts/rvm
/usr/local/rvm/bin/rvm
/usr/local/rvm/lib/rvm
/usr/local/rvm/scripts/rvm
[root@localhost soft]# source /usr/local/rvm/scripts/rvm

rvm查看當(dāng)前可以安裝的ruby環(huán)境的版本:

[root@localhost soft]# rvm list known
#MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3]
[ruby-]2.7[.0-preview1]
ruby-head
#for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2
#JRuby
jruby-1.6[.8]
jruby-1.7[.27]
jruby-9.1[.17.0]
jruby[-9.2.7.0]
jruby-head

此次演示ruby環(huán)境安裝的是ruby-2.4.6:

[root@localhost soft]# rvm install  2.4.6
Searching for binary rubies, this might take some time.
No binary rubies available for: centos/7/x86_64/ruby-2.4.6.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for centos.
Installing requirements for centos.
Installing required packages: libffi-devel, readline-devel, sqlite-devel.......
Requirements installation successful.
Installing Ruby from source to: /usr/local/rvm/rubies/ruby-2.4.6, this may take a while depending on your cpu(s)...
ruby-2.4.6 - #downloading ruby-2.4.6, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.0M  100 12.0M    0     0  54872      0  0:03:50  0:03:50 --:--:-- 38723
ruby-2.4.6 - #extracting ruby-2.4.6 to /usr/local/rvm/src/ruby-2.4.6.....
ruby-2.4.6 - #configuring..................................................................
ruby-2.4.6 - #post-configuration..
ruby-2.4.6 - #compiling...............................-
....................................................................................
ruby-2.4.6 - #installing...........................
ruby-2.4.6 - #making binaries executable..
ruby-2.4.6 - #downloading rubygems-3.0.6
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  866k  100  866k    0     0  40767      0  0:00:21  0:00:21 --:--:-- 39023
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.4.6 - #extracting rubygems-3.0.6.....
ruby-2.4.6 - #removing old rubygems........
ruby-2.4.6 - #installing rubygems-3.0.6...............................................
ruby-2.4.6 - #gemset created /usr/local/rvm/gems/ruby-2.4.6@global
ruby-2.4.6 - #importing gemset /usr/local/rvm/gemsets/global.gems................................................................
ruby-2.4.6 - #generating global wrappers.......
ruby-2.4.6 - #gemset created /usr/local/rvm/gems/ruby-2.4.6
ruby-2.4.6 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.4.6 - #generating default wrappers.......
ruby-2.4.6 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.4.6 - #complete 
Ruby was built without documentation, to build it run: rvm docs generate-ri
[root@localhost soft]# 
[root@localhost soft]# echo $?
0

此時(shí)ruby-2.4.6環(huán)境安裝成功

查看當(dāng)前ruby的版本:
[root@localhost soft]# ruby --version
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux]
切換到ruby-2.4.6環(huán)境:
[root@localhost soft]# rvm use 2.4.6
Using /usr/local/rvm/gems/ruby-2.4.6
[root@localhost soft]# ruby --version
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux]
把ruby-2.4.6環(huán)境設(shè)置成默認(rèn)
[root@localhost soft]# rvm use 2.4.6 --default
Using /usr/local/rvm/gems/ruby-2.4.6
[root@localhost soft]# ruby --version
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux]

安裝redis.gem 默認(rèn)直接安裝的是redis-4.1.3:

[root@localhost soft]# gem install redis
Fetching redis-4.1.3.gem
Successfully installed redis-4.1.3
Parsing documentation for redis-4.1.3
Installing ri documentation for redis-4.1.3
Done installing documentation for redis after 1 seconds
1 gem installed
[root@localhost soft]# echo $?
0

安裝成功:

[root@localhost soft]# /data/soft/redis-4.0.12/src/redis-trib.rb 
Usage: redis-trib <command> <options> <arguments ...>

  create          host1:port1 ... hostN:portN
                  --replicas <arg>
  check           host:port
  info            host:port
  fix             host:port
                  --timeout <arg>
  reshard         host:port

友情提示:
在管理redis-cluster集群時(shí),經(jīng)常會(huì)使用到rvm環(huán)境,每次執(zhí)行/data/soft/redis-4.0.12/src/redis-trib.rb 命令時(shí),總得提前加載source /usr/local/rvm/scripts/rvm
然后切換到ruby-2.4.6 環(huán)境:  rvm use 2.4.6 ;有點(diǎn)繁瑣,所以直接寫(xiě)入到環(huán)境變量文件,這樣在登錄這臺(tái)安裝有redis-trib.rb命令的機(jī)器時(shí),會(huì)自動(dòng)加載ruby環(huán)境,是可以減少每次在命令行執(zhí)行加載rvm的命令

[root@mysql-redis182 ~]# cat .bashrc 
#.bashrc
#User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi
###
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
rvm use 2.4.6  >/dev/null 2>&1

上述內(nèi)容就是部署ruby環(huán)境時(shí)需要注意什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI