如何在 CentOS 7 上安装和使用 Ruby on Rails 与 PostgreSQL如何在 CentOS 7 上安装和使用 Ruby on Rails 与 PostgreSQL如何在 CentOS 7 上安装和使用 Ruby on Rails 与 PostgreSQL如何在 CentOS 7 上安装和使用 Ruby on Rails 与 PostgreSQL
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 7 上安装和使用 Ruby on Rails 与 PostgreSQL

在此页

  1. 第 1 步 - 安装 RVM
  2. 第 2 步 - 安装 Ruby
  3. 第 3 步 - 安装 Nodejs
  4. 第 4 步 - 配置 Gem
  5. 第 5 步 - 安装 Ruby on Rails 5(稳定版)
  6. 第 6 步 - 为 Rails 开发设置 PostgreSQL 数据库
  7. 第 7 步 - 使用 Rails 和 PostgreSQL 创建第一个应用程序
  8. 链接

Ruby on Rails (RoR),简称“rails”,是一个用 ruby 编写的遵循 MVC(模型-视图-控制器)概念的服务器端 Web 应用程序框架。 RoR 是根据 OpenSource MIT 许可证发布的。 Rails 为数据库、Web 服务和网页提供默认结构。 Rails 应用广泛,至今已有超过 3000 人为 Rails 项目贡献代码,基于 Rails 的应用程序很多,如 Github、Airbnb、Soundcloud 等。

在本教程中,我将向您展示如何在 CentOS 7 上安装 Rails。我们将使用 PostgreSQL 数据库安装和配置 Ruby on Rails,然后使用 Rails 创建我们的第一个项目。

先决条件

  • 装有 CentOS 7 操作系统的服务器
  • 根权限

第 1 步 - 安装 RVM

RVM 或 Ruby 版本管理器是一种基于 Bash 和 Ruby 的命令行工具,用于管理 Ruby 安装。 RVM 允许您在同一台服务器上同时安装和配置多个 ruby 版本,以允许您使用多个 ruby 环境。

确保您的系统上安装了 curl 命令。

yum install curl

在此步骤中,我们将安装稳定的 RVM 版本。在开始安装 RVM 之前,我们需要下载存储库密钥并使用 gpg 命令导入它。

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

然后安装 RVM。

curl -sSL https://get.rvm.io | bash -s stable --ruby

该命令将首先安装所需的包(包依赖项),然后下载最新的稳定 RVM 版本并进行安装。

现在我们可以通过执行以下命令开始使用 RVM:

source /usr/local/rvm/scripts/rvm

第 2 步 - 安装红宝石

当前的 Ruby 稳定版本是 2.3.1。我们将使用 \rvm\ 命令安装它,然后将其设置为您系统的默认 ruby 版本。

将 RVM 更新到最新的稳定版本,然后安装 Ruby 2.3.1。

rvm get stable --autolibs=enable
rvm install ruby-2.3.1

接下来,将 Ruby 2.3.1 设置为系统默认的 Ruby 版本。

rvm --default use ruby-2.3.1

使用以下命令检查 Ruby 版本以确保上述步骤成功:

ruby -v

第 3 步 - 安装 Node.js

Rails 需要一个 JavaScript 运行时来编译 Rails 资产管道。对于 Ubuntu Linux 上的 Rails 开发,最好安装 Nodejs 作为 Javascript 运行时。

从 nodesource 存储库安装 nodejs:

curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs

检查节点和 npm 是否已成功安装在系统上。

node -v
npm -v

第 4 步 - 配置 Gem

RubyGems 是 Ruby 包管理器。它提供了 gem 命令行工具,并在您在系统上安装 Ruby 时自动安装。

更新 gem 版本并检查它:

gem update --system
gem -v

这是可选的:您可以通过将以下行添加到 .gemrc 文件来禁用在每个 gem 安装上安装文档。我会在这里这样做,因为它可以节省硬盘空间,而且我更喜欢阅读 Internet 上的文档。

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 5.0.0

Rails 5.0 安装在带有 Ruby 2.3.1 的 CentOS 7 上。

第 6 步 - 为 Rails 开发设置 PostgreSQL 数据库

在这一步中,我们将为 Rails 开发准备 PostgreSQL。 Ruby on Rails 支持许多数据库,例如 MySQL、SQLite(默认)和 PostgreSQL。我将使用 PostgreSQL 作为本指南的数据库。

使用这个 yum 命令安装 PostgreSQL:

yum -y install postgresql-server postgresql-devel postgresql-contrib

现在我们必须使用 initdb 命令初始化数据库服务器。

postgresql-setup initdb

默认情况下,CentOS 服务器上的 PostgreSQL 不允许基于密码的身份验证。我们需要为 RoR 安装编辑 PostgreSQL 配置,以允许使用密码登录。

使用 vim 编辑 pg_hba.conf:

vim /var/lib/pgsql/data/pg_hba.conf

将身份验证方法更改为 md5。

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

保存文件,然后启动“postgresql”服务。

systemctl start postgresql

Postgresql 在端口为 5432 的本地主机 IP 地址上运行,您可以使用以下命令检查:

netstat -plntu
systemctl status postgresql

安装完成后,使用 su 成为 shell 上的 postgres 用户,然后访问 postgresql shell (psql)。

su - postgres
psql

使用以下命令为 postgres 用户设置新密码:

\password postgres
Enter new password:

接下来,使用以下命令为 rails 开发创建一个名为 rails-dev 的新角色:

create role rails_dev with createdb login password 'aqwe123';

检查新角色,您将看到创建了新角色:

\du

用于 Rails 开发的 PostgreSQL 数据库和用户已经创建。

第 7 步 - 使用 Rails 和 PostgreSQL 创建第一个应用程序

我们可以使用 rails 命令轻松创建我们的第一个应用程序。

使用 PostgreSQL 作为默认数据库创建一个新应用程序。

rails new myapp -d postgresql

此命令将创建一个新目录 myapp 并安装一个新的 gem,其中包括 rails 连接到 PostgreSQL 数据库所需的 \pg\ gem。

进入newapp目录,编辑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.33.10 -p 8080

打开您的网络浏览器并访问端口 8080 上的服务器 IP 地址 - 192.168.33.10:8080。

回到你的终端。创建一个新的脚手架来与 PostgreSQL 数据库交互。

输入以下命令:

rails g scaffold Post title:string body:text
rake db:migrate

再次运行 rails 服务器。

rails s -b 192.168.33.10 -p 8080

访问服务器:192.168.33.10:8080/posts

您将看到使用 PostgreSQL 使用 Ruby on Rails 编写的简单 CRUD 界面。

链接

    <李> <李>
  • https://www.postgresql.org/docs/

©2015-2025 艾丽卡 support@alaica.com