如何在Ubuntu 14.04上使用PostgreSQL和Ruby on Rails应用程序

2018-10-23 09:53:47 浏览数 (1)

介绍

Ruby on Rails使用sqlite3作为其默认数据库,在许多情况下效果很好,但可能不适合您的应用程序。如果您的应用程序需要客户端/服务器SQL数据库(如PostgreSQL或MySQL)提供的可伸缩性,集中化和控制(或任何其他功能),则需要执行一些其他步骤才能启动并运行它。

本教程将向您展示如何设置开发Ruby on Rails环境,该环境允许您的应用程序在Ubuntu 14.04服务器上使用PostgreSQL数据库。首先,我们将介绍如何安装和配置PostgreSQL。然后我们将向您展示如何创建使用PostgreSQL作为其数据库服务器的rails应用程序。

准备

本教程要求具有可用的Ruby on Rails开发环境。

您还需要访问超级用户或sudo帐户,以便安装PostgreSQL数据库软件。

准备好后,让我们安装PostgreSQL。

没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。

安装PostgreSQL

如果您还没有安装PostgreSQL,那么现在就开始吧。

首先,更新apt-get:

代码语言:javascript复制
sudo apt-get update

然后安装PostgreSQL及其开发库:

代码语言:javascript复制
sudo apt-get install postgresql postgresql-contrib libpq-dev

现在已经安装了PostgreSQL,但是你应该创建一个新的数据库用户,你的Rails应用程序将使用它。

创建数据库用户

使用此命令创建PostgreSQL超级用户用户(用您自己的用户名替换突出显示的单词):

代码语言:javascript复制
sudo -u postgres createuser -s pguser

如果要为数据库用户设置密码,请使用以下命令进入PostgreSQL控制台:

代码语言:javascript复制
sudo -u postgres psql

PostgreSQL控制台由postgres=#提示符表示。在PostgreSQL提示符下,输入此命令以设置您创建的数据库用户的密码:

代码语言:javascript复制
password pguser

在提示符下输入所需的密码,然后确认。

现在您可以输入以下命令退出PostgreSQL控制台:

代码语言:javascript复制
q

我们现在创建一个Rails应用程序。

创建新的Rails应用程序

在主目录中创建一个新的Rails应用程序。使用-d postgresql选项将PostgreSQL设置为数据库,并确保将突出显示的单词替换为您的应用程序名称:

代码语言:javascript复制
cd ~
rails new appname -d postgresql

然后进入应用程序的目录:

代码语言:javascript复制
cd appname

下一步是配置应用程序的数据库连接。

配置数据库连接

您创建的PostgreSQL用户将用于创建应用程序的测试和开发数据库。我们需要为您的应用程序配置正确的数据库设置。

在您喜欢的文本编辑器中打开应用程序的数据库配置文件。我们将使用vi:

代码语言:javascript复制
vi config/database.yml

default部分下,找到显示“pool:5”的行,并在其下添加以下行。它应该看起来像这样(username和password用PostgreSQL用户和密码替换):

代码语言:javascript复制
  host: localhost
  username: pguser
  password: pguser_password

保存并退出。

创建应用程序数据库

使用此rake命令创建应用程序的developmenttest数据库:

代码语言:javascript复制
rake db:create

这将在PostgreSQL服务器中创建两个数据库。例如,如果您的应用程序的名称是“appname”,它将创建名为“appname_development”和“appname_test”的数据库。

如果你在这一点上得到一个错误,重温以前的第(配置数据库连接),以确保在database.yml中的hostusernamepassword是正确的。确保数据库信息正确后,尝试再次创建应用程序数据库。

测试配置

测试应用程序是否能够使用PostgreSQL数据库的最简单方法是尝试运行它。

例如,要运行开发环境(缺省值),请使用以下命令:

代码语言:javascript复制
rails server

这将在端口3000上的本地主机上启动Rails应用程序。

如果您的Rails应用程序位于远程服务器上,并且您希望通过Web浏览器访问它,则一种简单的方法是将其绑定到服务器的公共IP地址。首先,查找服务器的公共IP地址,然后将其与rails server命令一起使用(将其替换为突出显示的部分):

代码语言:javascript复制
rails server --binding=server_public_IP

现在,您应该能够通过端口3000上的服务器公共IP地址在Web浏览器中访问您的Rails应用程序:

访问网络浏览器:

代码语言:javascript复制
http://server_public_IP:3000

如果您看到“欢迎登陆”Ruby on Rails页面,您的应用程序已正确配置,并连接到PostgreSQL数据库。

结论

您现在已准备好在Ubuntu 14.04上使用PostgreSQL作为数据库在Ruby on Rails应用程序上开始开发!

祝好运!

想要了解更多关于使用PostgreSQL和Ruby on Rails应用程序的相关教程,请前往腾讯云 社区学习更多知识。


参考文献:《How To Use PostgreSQL with Your Ruby on Rails Application on Ubuntu 14.04》

0 人点赞