千家信息网

部署ruby环境时需要注意什么

发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,本篇文章为大家展示了部署ruby环境时需要注意什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言:一年多前业务使用到redis-cluster集群,然而当
千家信息网最后更新 2024年10月25日部署ruby环境时需要注意什么

本篇文章为大家展示了部署ruby环境时需要注意什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

前言:

一年多前业务使用到redis-cluster集群,然而当时部署时,redis-cluster集群采用的是ruby 语言开发的脚本redis-trib.rb 来进行管理集群的。所以当时给服务器安装了ruby环境。最近项目再一次使用到了redis-cluster集群,所以没多想,直接照着当时的文档记录直接开干,居然行不通了,遇到了各种报错,此次记录在此方便后续使用查看.

服务器环境:centos7.6x84_64位,最小化安装
直接部署ruby环境:

yum -y install ruby ruby-develyum -y install rubygems[root@localhost ~]# which gem/usr/bin/gem[root@localhost ~]# gem sources --remove http://rubygems.org/   http://rubygems.org/ removed from sourcessource 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  Speed100   194  100   194    0     0    379      0 --:--:-- --:--:-- --:--:--   379curl: (7) Failed connect to raw.githubusercontent.com:443; 拒绝连接

于是添加淘宝ruby源:

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

原来是taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务,即我们要换源
参考地址: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  Speed100   194  100   194    0     0     99      0  0:00:01  0:00:01 --:--:--    99100 24535  100 24535    0     0   5477      0  0:00:04  0:00:04 --:--:-- 20299Downloading https://github.com/rvm/rvm/archive/1.29.9.tar.gzDownloading https://github.com/rvm/rvm/releases/download/1.29.9/1.29.9.tar.gz.ascgpg: 已创建目录'/root/.gnupg'gpg: 新的配置文件'/root/.gnupg/gpg.conf'已建立gpg: 警告:在'/root/.gnupg/gpg.conf'里的选项于此次运行期间未被使用gpg: 钥匙环'/root/.gnupg/pubring.gpg'已建立gpg: 于 2019年07月10日 星期三 16时31分02秒 CST 创建的签名,使用 RSA,钥匙号 39499BDBgpg: 无法检查签名:没有公钥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 7D2BAF1CF37B13E2069D6956105BD0E739499BDBor 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

报错了,根据提示如下操作:

[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: 钥匙环'/root/.gnupg/secring.gpg'已建立gpg: 下载密钥'D39DC0E3',从 hkp 服务器 pool.sks-keyservers.netgpg: 下载密钥'39499BDB',从 hkp 服务器 pool.sks-keyservers.netgpg: /root/.gnupg/trustdb.gpg:建立了信任度数据库gpg: 密钥 D39DC0E3:公钥"Michal Papis (RVM signing) "已导入gpg: 密钥 39499BDB:公钥"Piotr Kuczynski "已导入gpg: 没有找到任何绝对信任的密钥gpg: 合计被处理的数量:2gpg:           已导入: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  Speed100   194  100   194    0     0     97      0  0:00:02  0:00:01  0:00:01    97curl: (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  Speed100   194  100   194    0     0     94      0  0:00:02  0:00:02 --:--:--    94100 24535  100 24535    0     0   2868      0  0:00:08  0:00:08 --:--:--  5254Downloading https://github.com/rvm/rvm/archive/1.29.9.tar.gzDownloading https://github.com/rvm/rvm/releases/download/1.29.9/1.29.9.tar.gz.ascgpg: 于 2019年07月10日 星期三 16时31分02秒 CST 创建的签名,使用 RSA,钥匙号 39499BDBgpg: 完好的签名,来自于"Piotr Kuczynski "gpg: 警告:这把密钥未经受信任的签名认证!gpg:       没有证据表明这个签名属于它所声称的持有者。主钥指纹: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDBGPG 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环境:

[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查看当前可以安装的ruby环境的版本:

[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- --url https://github.com/github/ruby.git --branch 2.2#JRubyjruby-1.6[.8]jruby-1.7[.27]jruby-9.1[.17.0]jruby[-9.2.7.0]jruby-head

此次演示ruby环境安装的是ruby-2.4.6:

[root@localhost soft]# rvm install  2.4.6Searching 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  Speed100 12.0M  100 12.0M    0     0  54872      0  0:03:50  0:03:50 --:--:-- 38723ruby-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  Speed100  866k  100  866k    0     0  40767      0  0:00:21  0:00:21 --:--:-- 39023No 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@globalruby-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.6ruby-2.4.6 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem listruby-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

此时ruby-2.4.6环境安装成功

查看当前ruby的版本:
[root@localhost soft]# ruby --version
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux]
切换到ruby-2.4.6环境:
[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环境设置成默认
[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 默认直接安装的是redis-4.1.3:

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

安装成功:

[root@localhost soft]# /data/soft/redis-4.0.12/src/redis-trib.rb Usage: redis-trib     create          host1:port1 ... hostN:portN                  --replicas   check           host:port  info            host:port  fix             host:port                  --timeout   reshard         host:port

友情提示:
在管理redis-cluster集群时,经常会使用到rvm环境,每次执行/data/soft/redis-4.0.12/src/redis-trib.rb 命令时,总得提前加载source /usr/local/rvm/scripts/rvm
然后切换到ruby-2.4.6 环境: rvm use 2.4.6 ;有点繁琐,所以直接写入到环境变量文件,这样在登录这台安装有redis-trib.rb命令的机器时,会自动加载ruby环境,是可以减少每次在命令行执行加载rvm的命令

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

上述内容就是部署ruby环境时需要注意什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

环境 密钥 集群 服务 命令 服务器 钥匙 成功 公钥 内容 技能 文件 星期 版本 知识 钥匙环 切换 提示 管理 完好 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库自动抓取技术研究 网络技术咨询服务合同 db2数据库修改联合主键 河南润讯网络技术公司 服务器的安全防护措施 网络安全宣传聊城 怎么用数据库做增删改查 长岭软件开发有限公司怎么样 服务器报错422 网络安全防护倡议书 网络安全网络文明教育课1 数据库建模实体关系 辽宁省造梦网络技术有限公司 华为网络安全开发部部长 大学生面对网络安全的对策 为诈骗人员提供网络技术 科幻文学与网络技术 重庆网络安全学院 数据库的数据划分方式 全国电信dns服务器地址 网络安全手抄报作品一等奖 谊安医疗嵌入式软件开发题目 数据库同步技术和数据仓库技术 数据库 友情链接表设计 国家网络安全宣传周第几周 怎样设置服务器管理地址 威海腾飞网络技术有限公司 网易云游戏丢包率高怎么换服务器 树莓派ss代理服务器 恩施州网络安全线上答题
0