CentOS 7 配置Ruby語言開發(fā)環(huán)境

CentOS 7 配置Ruby語言開發(fā)環(huán)境

Ruby環(huán)境

安裝Ruby 2.2

CentOS7存儲庫中的Ruby版本為2.0,但如果需要奔穿,可以使用RPM軟件包安裝2.2

  • 添加CentOS SCLo軟件集合存儲庫

[root@linuxprobe ~]# yum -y install centos-release-scl-rh centos-release-scl

# set [priority=10]

[root@linuxprobe ~]# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo

[root@linuxprobe ~]# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

# for another way, change to [enabled=0] and use it only when needed

[root@linuxprobe ~]# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo

[root@linuxprobe ~]# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

# if [enabled=0], input a command to use the repository

[root@linuxprobe ~]# yum --enablerepo=centos-sclo-rh install [Package]

[root@linuxprobe ~]# yum --enablerepo=centos-sclo-sclo install [Package]

# 安裝ruby

yum --enablerepo=centos-sclo-rh -y install rh-ruby22

  • 軟件集合的軟件包安裝在/opt目錄下瘩扼, 要使用它揽浙,需要加載環(huán)境變量镰官,如下所示:

#  加載環(huán)境變量

[root@linuxprobe ~]# scl enable rh-ruby22 bash

[root@linuxprobe ~]# ruby -v

ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]

[root@linuxprobe ~]# which ruby

/opt/rh/rh-ruby22/root/usr/bin/ruby

  • 設(shè)置登錄時自動啟用Ruby 2.2,按如下所示進(jìn)行配置:

[root@linuxprobe ~]# vim /etc/profile.d/rh-ruby22.sh

#!/bin/bash

source /opt/rh/rh-ruby22/enable

export X_SCLS="`scl enable rh-ruby22 'echo $X_SCLS'`"

export PATH=$PATH:/opt/rh/rh-ruby22/root/usr/local/bin

安裝Ruby 2.3


# 安裝ruby

yum --enablerepo=centos-sclo-rh -y install rh-ruby23

  • 軟件集合的軟件包安裝在/opt目錄下崇渗, 要使用它,需要加載環(huán)境變量京郑,如下所示:

#  加載環(huán)境變量

[root@linuxprobe ~]# scl enable rh-ruby23 bash

[root@linuxprobe ~]# ruby -v

ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]

[root@linuxprobe ~]# which ruby

/opt/rh/rh-ruby22/root/usr/bin/ruby

  • 設(shè)置登錄時自動啟用Ruby 2.3宅广,按如下所示進(jìn)行配置:

[root@linuxprobe ~]# vim /etc/profile.d/rh-ruby23.sh

#!/bin/bash

source /opt/rh/rh-ruby23/enable

export X_SCLS="`scl enable rh-ruby23 'echo $X_SCLS'`"

export PATH=$PATH:/opt/rh/rh-ruby23/root/usr/local/bin

安裝Ruby on Rails 4來構(gòu)建Ruby Framework環(huán)境

  • 添加EPEL軟件存儲庫

[root@linuxprobe ~]# yum -y install epel-release

# set [priority=5]

[root@linuxprobe ~]# sed -i -e "s/\]$/\]\npriority=5/g" /etc/yum.repos.d/epel.repo

# for another way, change to [enabled=0] and use it only when needed

[root@linuxprobe ~]# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo

# if [enabled=0], input a command to use the repository

[root@linuxprobe ~]# yum --enablerepo=epel install [Package]

Ruby on Rails 4

  • 安裝Ruby 2.2,參考上面

  • 安裝依賴包(epel+SCLo)


[root@linuxprobe ~]# yum --enablerepo=epel,centos-sclo-rh -y install rh-ruby22-ruby-devel nodejs libuv gcc make libxml2 libxml2-devel mariadb-devel zlib-devel libxslt-devel

  • 安裝Rails 4

[root@linuxprobe ~]# gem install bundler

[root@linuxprobe ~]# gem install nokogiri -- --use-system-libraries

[root@linuxprobe ~]# gem install rails --version="~>4.0" --no-ri --no-rdoc

[root@linuxprobe ~]# /opt/rh/rh-ruby22/root/usr/local/bin/rails -v

Rails 4.2.8

Ruby on Rails 5

  • 安裝Ruby 2.3些举,參考上面

  • 安裝依賴包(epel+SCLo)


[root@linuxprobe ~]# yum --enablerepo=epel,centos-sclo-rh -y install rh-ruby23-ruby-devel nodejs libuv gcc make libxml2 libxml2-devel mariadb-devel zlib-devel libxslt-devel

  • 安裝Rails 5

[root@linuxprobe ~]# gem install bundler

[root@linuxprobe ~]# gem install nokogiri -- --use-system-libraries

[root@linuxprobe ~]# gem install rails --no-ri --no-rdoc

[root@linuxprobe ~]# rails -v

Rails 5.0.2

創(chuàng)建一個示例應(yīng)用程序跟狱,并確保其正常工作

  • 需要安裝MariaDB服務(wù)

[root@linuxprobe ~]# yum -y install mariadb-server

[root@linuxprobe ~]# vi /etc/my.cnf

# add follows within [mysqld] section

[mysqld]

character-set-server=utf8

[root@linuxprobe ~]# systemctl start mariadb

[root@linuxprobe ~]# systemctl enable mariadb

ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

  • 初始化MariaDB

[root@linuxprobe ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

# set root password

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

# remove anonymous users

Remove anonymous users? [Y/n] y

... Success!

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

# disallow root login remotely

Disallow root login remotely? [Y/n] y

... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

# remove test database

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

# reload privilege tables

Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

# connect to MariaDB with root

[root@linuxprobe ~]# mysql -u root -p

Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 11

Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# show user list

MariaDB [(none)]> select user,host,password from mysql.user;

+------+-----------+-------------------------------------------+

| user | host      | password                                  |

+------+-----------+-------------------------------------------+

| root | localhost | *E2ACEC2F2DA384EE6753673365DFEF35F0C272C9 |

| root | 127.0.0.1 | *E2ACEC2F2DA384EE6753673365DFEF35F0C272C9 |

| root | ::1      | *E2ACEC2F2DA384EE6753673365DFEF35F0C272C9 |

+------+-----------+-------------------------------------------+

3 rows in set (0.00 sec)

# show database list

MariaDB [(none)]> show databases;

+--------------------+

| Database          |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

+--------------------+

3 rows in set (0.00 sec)

MariaDB [(none)]> exit

Bye

  • 創(chuàng)建測試應(yīng)用程序

[root@linuxprobe ~]# gem install mysql2 --no-ri --no-rdoc -- --with-mysql-config=/usr/bin/mysql_config

[root@linuxprobe ~]# rails new SampleApp -d mysql

[root@linuxprobe ~]# cd SampleApp

[root@linuxprobe SampleApp]# vi config/database.yml

default: &default

adapter: mysql2

encoding: utf8

pool: 5

username: root

password: password  # MariaDB password

socket: /var/lib/mysql/mysql.sock

# create test application

[root@dlp SampleApp]# rails db:create

Created database 'SampleApp_development'

Created database 'SampleApp_test'

[root@dlp SampleApp]# rails generate scaffold testapp name:string title:string body:text

[root@dlp SampleApp]# rails db:migrate

[root@dlp SampleApp]# rails server --binding=0.0.0.0

=> Booting Puma

=> Rails 5.0.2 application starting in development on http://0.0.0.0:3000

=> Run `rails server -h` for more startup options

Puma starting in single mode...

* Version 3.8.2 (ruby 2.3.1-p112), codename: Sassy Salamander

* Min threads: 5, max threads: 5

* Environment: development

* Listening on tcp://0.0.0.0:3000

Use Ctrl-C to stop

  • 客戶端訪問http://10.1.1.53:3000/
QQ圖片20170411170755.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市户魏,隨后出現(xiàn)的幾起案子驶臊,更是在濱河造成了極大的恐慌,老刑警劉巖叼丑,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件关翎,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸠信,警方通過查閱死者的電腦和手機纵寝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來症副,“玉大人店雅,你說我怎么就攤上這事≌晗常” “怎么了闹啦?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辕坝。 經(jīng)常有香客問我窍奋,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任琳袄,我火速辦了婚禮江场,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窖逗。我一直安慰自己址否,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布碎紊。 她就那樣靜靜地躺著佑附,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仗考。 梳的紋絲不亂的頭發(fā)上音同,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機與錄音秃嗜,去河邊找鬼权均。 笑死,一個胖子當(dāng)著我的面吹牛锅锨,可吹牛的內(nèi)容都是我干的叽赊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼橡类,長吁一口氣:“原來是場噩夢啊……” “哼蛇尚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起顾画,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤取劫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后研侣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谱邪,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年庶诡,在試婚紗的時候發(fā)現(xiàn)自己被綠了惦银。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡末誓,死狀恐怖扯俱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喇澡,我是刑警寧澤迅栅,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站晴玖,受9級特大地震影響读存,放射性物質(zhì)發(fā)生泄漏为流。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一让簿、第九天 我趴在偏房一處隱蔽的房頂上張望敬察。 院中可真熱鬧,春花似錦尔当、人聲如沸莲祸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虫给。三九已至,卻和暖如春侠碧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缠黍。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工弄兜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓷式。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓替饿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贸典。 傳聞我的和親對象是個殘疾皇子视卢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一、異同對比選擇1廊驼、Python和ruby的相同點: * 都強調(diào)語法簡單据过,都具有更一般的表達(dá)方式。python是縮...
    沃倫蓋茨閱讀 4,148評論 2 24
  • 說明本次redis集群安裝在rhel6.8 64位機器上妒挎,redis版本為3.2.8绳锅,redis的gem文件版本為...
    讀或?qū)?/span>閱讀 14,800評論 3 9
  • 前幾天單位組織收看了省立醫(yī)院著名心血管專家的課程,最近手機想要瘦身酝掩,因此把簡書作為記事本鳞芙,權(quán)當(dāng)幾年后翻一下的備忘錄...
    雅各布666閱讀 1,799評論 4 1
  • 我聒噪,我瘋癲期虾,我自私原朝,我小肚雞腸,我善妒镶苞,我懶惰喳坠,我毒舌 我沒素質(zhì)沒文化沒涵養(yǎng)沒耐心沒特長 唯一有的就是對旁人可...
    斑馬叉老碳燒閱讀 130評論 0 0
  • 一,靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁的區(qū)別:1宾尚、編程技術(shù)不同 2.被搜索引擎收錄的狀況不同 動態(tài)網(wǎng)頁很難被搜索引擎收錄 3.用...
    待從頭收拾舊山河閱讀 239評論 0 0