Ruby on Rails(RoR)是一个开源Web应用程序框架,在MIT许可证下发布。 Ruby on Rails或rails是用Ruby编写的,它是遵循MVC(Model-View-Controller)概念的服务器端Web应用程序框架。 Rails为数据库,Web服务和网页提供默认结构。 有超过3000名开发人员已经为Rails框架提供了代码,还有许多基于Rails的知名应用程序,如Github,Airbnb,Soundcloud等。
在本教程中,我将向您展示如何在ubuntu 16.04 LTS上安装Ruby on Rails。 我将向您展示如何使用PostgreSQL数据库安装和配置Rails,以及如何使用Rails创建新的第一个项目。
前提条件
- Ubuntu 16.04服务器。
- 根权限
第1步 - 安装RVM
RVM或Ruby版本管理器是基于Bash和Ruby的命令行工具,用于管理红Gem安装。 RVM允许您在一个系统上安装和配置多个ruby版本。
在此步骤中,我们将安装稳定的RVM版本,并使用gpg命令添加存储库密钥。
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
安装RVM稳定。 确保您的系统上安装了curl命令。
curl -sSL https://get.rvm.io | bash -s stable --ruby
该命令将安装RVM安装的需求包,然后下载最新的稳定RVM版本并进行安装。
现在我们可以通过在第一个执行下面的命令来开始使用RVM:
source /usr/local/rvm/scripts/rvm
第2步 - 安装Ruby
目前的稳定版本的Ruby是2.3.1。 使用rvm命令安装它,然后将其设置为系统的默认ruby版本。
将rvm更新到最新的稳定版本,然后安装Ruby 2.3.1版本。
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
接下来,使2.3.1系统上的默认ruby版本。
rvm --default use ruby-2.3.1
现在检查ruby版本,命令如下:
ruby -v
第3步 - 安装Nodejs
Rails需要一个JavaScript运行时来编译Rails资源管道。 对于Ubuntu Linux上的Rails开发,最好将Nodejs安装为Javascript运行时。
从nodesource库安装nodejs:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs
第4步 - 配置RubyGem
RubyGems是一个Ruby包管理器。 它是与gem命令行工具一起,当我们在系统上安装Ruby时自动安装。
更新Gem版本并检查:
gem update --system
gem -v
这是可选的,您可以通过在下面的.gemrc文件中添加新行来禁用在每个gem安装上安装文档。
echo "gem: --no-document" >> ~/.gemrc
第5步 - 安装Ruby on Rails 5稳定
使用下面的gem命令安装Ruby on Rails 5:
gem install rails -v 5.0.0
安装成功完成后,请检查rails版本:
rails -v
你会看到rails版本的结果:
Rails 5.0.0
Rails 5.0已经在Ubuntu 16.04上安装了Ruby 2.3.1。
第6步 - 设置用于Rails开发的PostgreSQL数据库
在这一步中,我们将准备PostgreSQL进行rails开发。 Ruby on Rails支持许多数据库,如MySQL,SQLite(默认)和PostgreSQL。 我们将使用PostgreSQL作为本指南的数据库。
使用apt命令安装PostgreSQL和其他一些必需的包:
apt-get -y install postgresql postgresql-contrib libpq-dev
安装完成后,登录postgres用户并访问postgresql shell。
su - postgres
psql
给postgres用户一个新的密码,命令如下:
\password postgres
Enter new password:
接下来,使用以下命令为rails开发创建一个名为“rails-dev”的新角色:
create role rails_dev with createdb login password 'aqwe123';
为用户设置新密码,并检查用户是否已创建。
现在检查新的角色,你会看到新角色已经创建:
\du
PostgreSQL数据库已经为Rails Development准备了。
第7步 - 使用Rails和PostgreSQL创建第一个应用程序
Ruby on Rails或Rails附带命令“rails”,我们可以使用该命令引导我们的第一个应用程序。
创建一个新的应用程序“myapp”与PostgreSQL作为默认数据库。
rails new myapp -d postgresql
该命令将创建一个新的目录'myapp',并安装新的gem,包括rails gem所需的gem,以将PostgreSQL数据库连接到该目录中。
接下来,转到'myapp'目录并在config目录中编辑database.yml文件。
cd myapp/
vim config/database.yml
在开发部分,取消注释第32行,并键入我们在第6步中创建的角色。
username: rails_dev
在第35行设置rails_dev用户密码。
password: aqwe123
取消注释第40行和第44行数据库主机配置。
host: localhost
port: 5432
现在去测试部分并添加下面的新配置:
database: myapp_test
host: localhost
port: 5432
username: rails_dev
password: aqwe123
保存并退出。
接下来,使用rails命令生成数据库:
rails db:setup
rails db:migrate
然后使用以下命令启动rails服务器:
rails s -b 192.168.1.110 -p 8080
打开您的Web浏览器,并访问端口8080 - 192.168.1.110:8080上的服务器IP地址。
返回终端并创建一个新的脚手架与PostgreSQL数据库进行交互。
键入以下命令:
rails g scaffold Post title:string body:text
rake db:migrate
再次运行rails服务器。
rails s -b 192.168.1.110 -p 8080
访问服务器: 192.168.1.110 : 8080/posts
您将在PostgreSQL的Ruby on Rails上看到简单的CRUD。