如何在Ubuntu 16.04上使用PostgreSQL安装Ruby on Rails(RoR)

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。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏