Ruby On Rails +CentOS 7.9 环境搭建Web应用程序 教程

最近接触了一个项目是使用Ruby 语言开发的

首次接触Ruby 语言开发的Web 应用。 

使用Vmware WorkStation 搭建了一台 CentOS 7.9  然后在这台虚拟机进行环境的搭建:  基本成功跑通。

为了让各位兄弟少踩坑, 特地写一篇文章 记录下 整个踩坑的经过和历程。

准备工作:

一台Linux 虚拟机  CentOS 7.9 

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)  配置(双核, 2G内存)

1.服务器 环境  Centos  7  最小化安装 后 

通过设置网卡配置文件: 定义一下内网IP  我这里使用的IP为 :192.168.4.200

宿主机  物理电脑的IP为: 192.168.4.74 

VM 的网络和 PC机的网络 通过桥接的方式连通:

Centos 7 更改yum源: 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

先让两台机可以互通。

2. 安装工具Xshell 软件   进行管理 虚拟机VM  测试环境

保证 本地主机 192.168.4.74 和 192.168.4.200  互相可以ping通 的情况下  开始搭建:

具体搭建步骤如下 :

借鉴资料,需要具备的一些基础知识:  ruby On rails  目录结构:

https://www.cnblogs.com/hyshareex/p/10218902.html

ruby  gem  , 还有rails 之间的关系详解: https://www.cnblogs.com/hyshareex/p/10219309.html

Ruby-On-Rails 生成指定版本的Rails 项目  : https://www.cnblogs.com/hyshareex/p/10218833.html

1. 先安装 rvm  环境 (rvm 简称  ruby 虚拟机环境  ruby  

先将VM 的环境的yum 源更换为aliyun 的源或者163 网易的yum源,

安装 curl

yum -y install curl 

 安装RVM 

安装之前先导入key:

sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

有可能会报错, 报错会提示要导入 一些文件

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

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

先执行上面的  命令 导入相关的gpg2  文件

执行 安装命令   sudo curl -L get.rvm.io | bash -s stable  --ruby

安装完之后 再进行  source 一下 更新下环境变量的配置文件:

sudo source ~/.bashrc
sudo source ~/.bash_profile
sudo source /etc/profile.d/rvm.sh

sudo rvm install 2.7.2

 安装完成之后   find 一下 rvm    执行命令  查看rvm

find / -name rvm -print

下载rvm的依赖

 rvm   requirements

查看rvm库中已知的ruby 版本

rvm list known

 根据查看的版本号,选择需要的版本。

安装需要的ruby版本

我这边安装的是ruby 2.7.2

rvm install 2.7.2

使用指定版本的ruby 

rvm use ruby 2.7.2

 设置默认版本

rvm use 2.7.2 --default

查看ruby 版本

ruby  -v

 gem  install 相关的组件

下面是我安装时遇到的坑

Gem  install 报错 error

 使用rvm  安装完成 ruby 后  安装完成rvm 环境后  gem 也就默认安装完成了,

ruby  -v   查看ruby 版本   gem  -v 查看 gem 的版本 

gem  sources  --add   https://gems.ruby-china.com/ --remove https://rubygems.org/

添加  gem的 源  为ruby-china  .

安装 Bundler

gem install bundler

安装 rails 环境 

gem  install  rails

 安装完成截图

Bundler  install 报错:

根据提示是由于缺少 mysql2  的组件。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

An error occurred while installing mysql2 (0.5.3), and Bundler

cannot continue.

Make sure that `gem install mysql2 -v '0.5.3' --source

 根据报错 提示 需要安装  gem install  mysql2 -v '0.5.3'

安装mysql2  报错, 是因为没有安装必要的mysql库导致。

解决方法 :  安装mysql-devel 的插件进行解决

yum -y install mysql-devel

yum 将  mysql-devel   给安装上。

gem install mysql2

 将以上服务都安装好之后 再bundler install  

然后 通过 gitlab  将代码 git pull 到本地   然后 进行部署

rails的 代码 使用tar 命令 解压缩 

tar -zxvf     aaa.tar.gz   -C /root/aaa/ 

cd /root/aaa/  进入到 代码路径  进行启动 

rails server   启动成功截图:

 至此 rails 项目部署完成。

默认Rails 使用sqlite3 创建名 blog的应用

rails new blog

用mysql 创建名为blog的应用

rails new blog -d mysql

用postgreSQL 创建名为blog的应用

rails new blog -d postgresql

如果为mysql和postgreSQL 配置了用户名和密码, 需要先配置config/database.yml 里面的用户名和密码,然后再运行下面的命令创建数据库文件

rails db:create

如果运行的是rails项目里的生产环境

命令为:

RAILS_ENV=production rails s

在部署的目录下跑一下export命令  将数据库mysql的密码写进环境变量中

export A_DATABASE_PASSWORD="XXXXXX"

如果配置了 Rails 程序连接aliyun 的 RDS 需要这样配置:

备注:

Gemfile 配置文件 :

ruby '2.7.1'

gem 'rails', '~> 6.1.4', '>= 6.1.4.1'

gem 'mysql2', '~> 0.5'

gem 'puma', '~> 5.0'

gem 'sass-rails', '>= 6'

gem 'webpacker', '~> 5.0'

gem 'turbolinks', '~> 5'

gem 'jbuilder', '~> 2.7'

博文阅读密码felix
原文地址:https://www.cnblogs.com/Enzoo/p/15634515.html