CentOS 7 配置Ruby语言开发环境

前端之家收集整理的这篇文章主要介绍了CentOS 7 配置Ruby语言开发环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CentOS 7 配置Ruby语言开发环境

安装Ruby 2.2

CentOS7存储库中的Ruby版本为2.0,但如果需要,可以使用RPM软件包安装2.2

  • 添加CentOS SCLo软件集合存储库
[root@linuxprobe@H_403_15@ ~]# yum -y install centos-release-scl-rh centos-release-scl@H_403_15@
# set [priority=10]@H_403_15@
[root@linuxprobe@H_403_15@ ~]# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo@H_403_15@
[root@linuxprobe@H_403_15@ ~]# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo@H_403_15@
# for another way,change to [enabled=0] and use it only when needed@H_403_15@
[root@linuxprobe@H_403_15@ ~]# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo@H_403_15@
[root@linuxprobe@H_403_15@ ~]# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo@H_403_15@
# if [enabled=0],input a command to use the repository@H_403_15@
[root@linuxprobe@H_403_15@ ~]# yum --enablerepo=centos-sclo-rh install [Package]@H_403_15@
[root@linuxprobe@H_403_15@ ~]# yum --enablerepo=centos-sclo-sclo install [Package]@H_403_15@
# 安装ruby@H_403_15@
yum --enablerepo=centos-sclo-rh -y install rh-ruby22
  • 软件集合的软件包安装在/opt目录下, 要使用它,需要加载环境变量,如下所示:
# 加载环境变量@H_403_15@
[root@linuxprobe@H_403_15@ ~]# scl enable rh-ruby22 bash@H_403_15@
[root@linuxprobe@H_403_15@ ~]# ruby -v@H_403_15@
ruby 2.2@H_403_15@.2@H_403_15@p95 (2015@H_403_15@-04@H_403_15@-13@H_403_15@ revision 50295@H_403_15@) [x86_64-linux]
[root@linuxprobe@H_403_15@ ~]# which ruby@H_403_15@
/opt/rh/rh-ruby22/root/usr/bin/ruby
  • 设置登录自动启用Ruby 2.2,按如下所示进行配置:
[root@linuxprobe@H_403_15@ ~]# vim /etc/profile.d/rh-ruby22.sh@H_403_15@
#!/bin/bash@H_403_15@
source /opt/rh/rh-ruby22/enable
export X_SCLS@H_403_15@="`scl enable rh-ruby22 'echo $X_SCLS'`"@H_403_15@
export PATH@H_403_15@=$PATH@H_403_15@:/opt/rh/rh-ruby22/root/usr/local/bin@H_403_15@

安装Ruby 2.3

# 安装ruby@H_403_15@
yum@H_403_15@ --enablerepo=centos-sclo-rh -y install rh-ruby23@H_403_15@
  • 软件集合的软件包安装在/opt目录下, 要使用它,需要加载环境变量,如下所示:
# 加载环境变量@H_403_15@
[root@linuxprobe@H_403_15@ ~]# scl enable rh-ruby23 bash@H_403_15@
[root@linuxprobe@H_403_15@ ~]# ruby -v@H_403_15@
ruby 2.2@H_403_15@.2@H_403_15@p95 (2015@H_403_15@-04@H_403_15@-13@H_403_15@ revision 50295@H_403_15@) [x86_64-linux]
[root@linuxprobe@H_403_15@ ~]# which ruby@H_403_15@
/opt/rh/rh-ruby22/root/usr/bin/ruby
  • 设置登录自动启用Ruby 2.3,按如下所示进行配置:
[root@linuxprobe@H_403_15@ ~]# vim /etc/profile.d/rh-ruby23.sh@H_403_15@
#!/bin/bash@H_403_15@
source /opt/rh/rh-ruby23/enable
export X_SCLS@H_403_15@="`scl enable rh-ruby23 'echo $X_SCLS'`"@H_403_15@
export PATH@H_403_15@=$PATH@H_403_15@:/opt/rh/rh-ruby23/root/usr/local/bin@H_403_15@

安装Ruby on Rails 4来构建Ruby Framework环境

[root@linuxprobe ~]# yum -y install epel-release@H_403_15@
# set [priority=5@H_403_15@]
[root@linuxprobe ~]# sed -i -e "s/\]$/\]\npriority=5/g"@H_403_15@ /etc/yum.repos.d/epel.repo
# for@H_403_15@ another way,change to@H_403_15@ [enabled=0@H_403_15@] and@H_403_15@ use@H_403_15@ it only when@H_403_15@ needed
[root@linuxprobe ~]# sed -i -e "s/enabled=1/enabled=0/g"@H_403_15@ /etc/yum.repos.d/epel.repo
# if@H_403_15@ [enabled=0@H_403_15@],input a command to@H_403_15@ use@H_403_15@ the repository
[root@linuxprobe ~]# yum --enablerepo=epel install [Package]@H_403_15@

Ruby on Rails 4

  • 安装Ruby 2.2,参考上面
  • 安装依赖包(epel+SCLo)
[root@linuxprobe@H_403_15@ ~]# 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@H_403_15@
  • 安装Rails 4
[root@linuxprobe@H_403_15@ ~]# gem install bundler@H_403_15@
[root@linuxprobe@H_403_15@ ~]# gem install nokogiri -- --use-system-libraries@H_403_15@
[root@linuxprobe@H_403_15@ ~]# gem install rails --version="~>4.0" --no-ri --no-rdoc@H_403_15@
[root@linuxprobe@H_403_15@ ~]# /opt/rh/rh-ruby22/root/usr/local/bin/rails -v@H_403_15@
Rails@H_403_15@ 4.2@H_403_15@.8@H_403_15@

Ruby on Rails 5

  • 安装Ruby 2.3,参考上面
  • 安装依赖包(epel+SCLo)
[root@linuxprobe@H_403_15@ ~]# 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@H_403_15@
  • 安装Rails 5
[root@linuxprobe@H_403_15@ ~]# gem install bundler@H_403_15@
[root@linuxprobe@H_403_15@ ~]# gem install nokogiri -- --use-system-libraries@H_403_15@
[root@linuxprobe@H_403_15@ ~]# gem install rails --no-ri --no-rdoc@H_403_15@
[root@linuxprobe@H_403_15@ ~]# rails -v@H_403_15@
Rails@H_403_15@ 5.0@H_403_15@.2@H_403_15@

创建一个示例应用程序,并确保其正常工作

  • 需要安装MariaDB服务
[root@linuxprobe@H_403_15@ ~]# yum -y install mariadb-server@H_403_15@
[root@linuxprobe@H_403_15@ ~]# vi /etc/my.cnf@H_403_15@
# add follows within [MysqLd] section@H_403_15@
[MysqLd]
character-set-server=utf8
[root@linuxprobe@H_403_15@ ~]# systemctl start mariadb@H_403_15@
[root@linuxprobe@H_403_15@ ~]# systemctl enable mariadb@H_403_15@
ln -s '/usr/lib/systemd/system/mariadb.service'@H_403_15@ '/etc/systemd/system/multi-user.target.wants/mariadb.service'@H_403_15@
  • 初始化MariaDB
[root@linuxprobe ~]# MysqL_secure_installation@H_403_15@

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to@H_403_15@ log@H_403_15@ into@H_403_15@ MariaDB to@H_403_15@ secure it@H_403_15@,we'll need the@H_403_15@ current
password for@H_403_15@ the@H_403_15@ root user.  If you've just installed MariaDB,and@H_403_15@
you haven't set@H_403_15@ the@H_403_15@ root password yet,the@H_403_15@ password will be blank,so you should just press enter here.

Enter current password for@H_403_15@ root (enter for@H_403_15@ none):
OK,successfully used password,moving on@H_403_15@.@H_403_15@..

Setting the@H_403_15@ root password ensures that@H_403_15@ nobody can log@H_403_15@ into@H_403_15@ the@H_403_15@ MariaDB
root user without@H_403_15@ the@H_403_15@ proper authorisation.

# set root password@H_403_15@
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@H_403_15@ log@H_403_15@ into@H_403_15@ MariaDB without@H_403_15@ having to@H_403_15@ have a user account created for@H_403_15@
them.  This is@H_403_15@ intended only for@H_403_15@ testing,and@H_403_15@ to@H_403_15@ make the@H_403_15@ installation
go a bit smoother.  You should remove them before@H_403_15@ moving into@H_403_15@ a
production environment.
# remove anonymous users@H_403_15@
Remove anonymous users? [Y/n] y
 ... Success!

Normally,root should only be allowed to@H_403_15@ connect from@H_403_15@ 'localhost'.  This
ensures that@H_403_15@ someone cannot guess at@H_403_15@ the@H_403_15@ root password from@H_403_15@ the@H_403_15@ network.

# disallow root login remotely@H_403_15@
Disallow root login remotely? [Y/n] y
 ... Success!

By default,MariaDB comes with@H_403_15@ a database named 'test' that@H_403_15@ anyone can
access.  This is@H_403_15@ also intended only for@H_403_15@ testing,and@H_403_15@ should be removed
before@H_403_15@ moving into@H_403_15@ a production environment.

# remove test database@H_403_15@
Remove test database and@H_403_15@ access to@H_403_15@ it@H_403_15@? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on@H_403_15@@H_403_15@ test database...
 ... Success!

Reloading the@H_403_15@ privilege tables will ensure that@H_403_15@ all changes made so far
will take effect immediately.

# reload privilege tables@H_403_15@
Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of@H_403_15@ the@H_403_15@ above@H_403_15@ steps,your MariaDB
installation should now be secure.

Thanks for@H_403_15@ using MariaDB!

# connect to MariaDB with root@H_403_15@
[root@linuxprobe ~]# MysqL -u root -p@H_403_15@
Enter password:
Welcome to@H_403_15@ the@H_403_15@ MariaDB monitor.  Commands end@H_403_15@ with@H_403_15@ ; or@H_403_15@ \g.
Your MariaDB connection id@H_403_15@ is@H_403_15@ 11@H_403_15@
Server version@H_403_15@: 5.5@H_403_15@.52@H_403_15@-MariaDB MariaDB Server

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

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

# show user list@H_403_15@
MariaDB [(none)]> select user,host,password from@H_403_15@ MysqL.user;
+------+-----------+-------------------------------------------+@H_403_15@
| user | host      | password                                  |
+------+-----------+-------------------------------------------+@H_403_15@
| root | localhost | *E2ACEC2F2DA384EE6753673365DFEF35F0C272C9 |
| root | 127.0@H_403_15@.0@H_403_15@.1@H_403_15@ | *E2ACEC2F2DA384EE6753673365DFEF35F0C272C9 |
| root | ::1@H_403_15@       | *E2ACEC2F2DA384EE6753673365DFEF35F0C272C9 |
+------+-----------+-------------------------------------------+@H_403_15@
3@H_403_15@ rows in@H_403_15@ set@H_403_15@ (0.00@H_403_15@ sec)

# show database list@H_403_15@
MariaDB [(none)]> show databases;
+--------------------+@H_403_15@
| Database           |
+--------------------+@H_403_15@
| information_schema |
| MysqL              |
| performance_schema |
+--------------------+@H_403_15@
3@H_403_15@ rows in@H_403_15@ set@H_403_15@ (0.00@H_403_15@ sec)

MariaDB [(none)]> exit@H_403_15@
Bye
  • 创建测试应用程序
[root@linuxprobe@H_403_15@ ~]# gem install MysqL2 --no-ri --no-rdoc -- --with-MysqL-config=/usr/bin/MysqL_config@H_403_15@
[root@linuxprobe@H_403_15@ ~]# rails new SampleApp -d MysqL@H_403_15@
[root@linuxprobe@H_403_15@ ~]# cd SampleApp@H_403_15@
[root@linuxprobe@H_403_15@ SampleApp]# vi config/database.yml@H_403_15@
default@H_403_15@: &default@H_403_15@
  adapter@H_403_15@: MysqL2
  encoding@H_403_15@: utf8
  pool@H_403_15@: 5@H_403_15@
  username@H_403_15@: root
  password@H_403_15@: password   # MariaDB password@H_403_15@
  socket@H_403_15@: /var@H_403_15@/lib/MysqL/MysqL.sock
# create test application@H_403_15@
[root@dlp@H_403_15@ SampleApp]# rails db:create@H_403_15@
Created database 'SampleApp_development'@H_403_15@
Created database 'SampleApp_test'@H_403_15@
[root@dlp@H_403_15@ SampleApp]# rails generate scaffold testapp name:string title:string body:text@H_403_15@
[root@dlp@H_403_15@ SampleApp]# rails db:migrate@H_403_15@
[root@dlp@H_403_15@ SampleApp]# rails server --binding=0.0.0.0@H_403_15@ =>@H_403_15@ Booting Puma =>@H_403_15@ Rails 5.0@H_403_15@.2@H_403_15@ application starting in@H_403_15@ development on@H_403_15@ http@H_403_15@://@H_403_15@0.0@H_403_15@.0@H_403_15@.0@H_403_15@:3000@H_403_15@ =>@H_403_15@ Run `rails server -h@H_403_15@` for@H_403_15@ more startup options
Puma starting in@H_403_15@ single mode...
* Version 3.8@H_403_15@.2@H_403_15@ (ruby 2.3@H_403_15@.1@H_403_15@-p112),codename@H_403_15@: Sassy Salamander
* Min threads@H_403_15@: 5@H_403_15@,max threads@H_403_15@: 5@H_403_15@
* Environment@H_403_15@: development
* Listening on@H_403_15@ tcp@H_403_15@://@H_403_15@0.0@H_403_15@.0@H_403_15@.0@H_403_15@:3000@H_403_15@
Use Ctrl-C to stop

猜你在找的CentOS相关文章