CouchDB快速入门

Apache CouchDB数据库,它类似于Redis,Cassandra和MongoDB,也是一个NoSQL数据库。 CouchDB将数据存储为非关系性的JSON文档。 这使得CouchDB的用户可以以与现实世界相似的方式来存储数据。

可以从命令行或一个叫作Futon的Web界面来管理CouchDB。 Futon可用于执行管理任务,如创建和操作CouchDB的数据库,文档和用户等。

本文章的目标

在阅读学习本文完后,您将学会以下知识:

  • 将CouchDB安装在运行Ubuntu 14.04上。
  • 将Futon安装在同一台服务器上
  • 使用安全通道从本地机器访问CouchDB
  • 向CouchDB添加管理员用户
  • 如何使用Futon执行CouchDB的CRUD操作
  • 从命令行执行CouchDB的CRUD操作

先决条件

请准备/完成以下两个先决条件:

  • Ubuntu 14.04系统
  • 拥有管理权限的用户身份登录到服务器

注意:本教程假设使用的是非root用户,并可以执行root用户权限。请注意,如果您使用非root用户,首次使用sudo执行命令时,系统将要求您输入root用户的密码。

步骤1 - 准备服务器

在安装CouchDB之前,需要确保已经设置好了服务器。

开始更新系统:

$ sudo apt-get update

安装允许管理源存储库的软件:

$ sudo apt-get install software-properties-common -y

注意:-y标志告诉apt-get命令对安装过程中可能出现的所有提示以Yes响应。 如果您喜欢手动响应提示,可以删除此标志。

添加PPA,以从相应的存储库获取最新的CouchDB版本:

$ sudo add-apt-repository ppa:couchdb/stable -y

警告:在您的服务器上添加一个新的个人包存档(PPA)时,应该非常小心。 因为任何人都可以创建PPA,所以不能保证它是可信赖的,或者它是安全的。 在这种情况下,上述PPA是由Apache CouchDB团队维护的官方PPA。

经过上一步,已经添加了一个新的PPA,接下来需要更新系统,使其具有最新的包信息:

$ sudo apt-get update

现在可以安装CouchDB和Futon了。

步骤2 - 安装CouchDB

如果之前有在此服务器上安装过CouchDB,请先删除现有版本,使用以下命令:

$ sudo apt-get remove couchdb couchdb-bin couchdb-common -yf

现在安装CouchDB:

$ sudo apt-get install couchdb -y

这将在您服务器上安装CouchDB和Futon。

默认情况下,CouchDB在localhost上并使用端口5984运行,可以通过从命令行运行curl来检索此基本信息:

$ curl localhost:5984

注意:如果没有安装curl程序工具,可以使用sudo apt-get install curl命令进行安装。

执行上面命令请求,应该得到类似于以下内容:

{"couchdb":"Welcome","uuid":"b9dsf278cfdas743b5fdfsaafd399fas7582e","version":"1.6.1","vendor":{"name":"Ubuntu","version":"14.04"}}

现在可以使用curl -X PUT命令创建一个新的数据库:

curl -X PUT localhost:5984/new_database

执行后返回的响应结果如下 -

{"ok":true}

步骤3 - CouchDB安全保护

默认情况下,安装CouchDB时创建的某些文件和目录属于root用户和组。 这在开发过程中虽然不错,但这可能是生产中的安全风险。

安装CouchDB时,它将创建一个用户和一个名为couchdb的组。 在本节中,我们将把CouchDB文件的所有权和权限更改为couchdb用户和组。

更改所有权控制CouchDB进程可以访问内容,并更改可以访问CouchDB文件和目录的权限控制。

更改所有权和权限之前,先停止CouchDB:

$ sudo stop couchdb

更改/usr/lib/couchdb,/usr/share/couchdb和/etc/couchdb目录, 以及/usr/bin/couchdb可执行文件的所有权,使其所有者为couchdb用户,并且属于couchdb组。

sudo chown -R couchdb:couchdb /usr/lib/couchdb /usr/share/couchdb /etc/couchdb /usr/bin/couchdb

现在,更改了/usr/lib/couchdb,/usr/share/couchdb和/etc/couchdb目录, 以及/usr/bin/couchdb可执行文件的权限,以便couchdb用户和couchdb组可自由访问(到CouchDB安装),而其他用户不可以访问这些文件和目录。

sudo chmod -R 0770 /usr/lib/couchdb /usr/share/couchdb /etc/couchdb /usr/bin/couchdb

现在重新启动CouchDB:

sudo start couchdb

CouchDB现在应该启动并运行,而没有任何属于root用户或root组的文件或目录。

步骤4 - 访问Futon

CouchDB提供了一个基于Web的方便控制面板,它叫作:Futon。从本地服务器访问它,将流量通过SSH连接隧道传输到您的服务器。只有SSH登录到您的服务器的用户才能访问Futon控制面板。

要安全地连接到CouchDB(不用公开),您可以创建从本地端口5984到远程服务器端口5984的SSH隧道。

可以使用以下命令在本地计算机运行,以设置隧道:

$ ssh -L5984:127.0.0.1:5984 yiibai_user@your_server_ip

注意:请记住用您的用户名替换yiibai_user,将your_server_ip替换为服务器的IP地址。

连接打开时,使用端口5984从Web浏览器访问Futon。访问此URL以显示Futon页面:

http://localhost:5984/_utils
默认情况下,访问Futon的所有CouchDB用户都具有管理权限。

步骤5 - 添加管理员用户

现在已经启动运行CouchDB,可以开始使用它了。

在创建管理员用户之前,所有用户都可以以管理权限访问CouchDB(尽管它们首先需要SSH访问服务器)。

为CouchDB创建管理员帐户是一个很好的做法,以防止意外或未经授权的数据丢失。

要执行此操作,请单击显示在“Futon”的右下角的“修复此(Fix this)”链接。 这将显示一个允许您创建CouchDB管理员用户的屏幕,如下所示:

输入用户名和密码:

输入新的CouchDB用户名和密码后,单击创建(Create)按钮然后就创建新的管理员用户。 Futon右下角的消息将通过显示类似于以下内容的消息来确认:

注意:创建管理用户可防止未经授权的用户删除和修改数据库,设计文档和CouchDB配置。 但是,它不会阻止其它创建或访问文档。

就这样,有关CouchDB服务器现已完全配置。要了解有关使用数据库的更多信息,请继续阅读。

下面是一条美丽的分割线…


上面是一条美丽的分割线…

从Futon执行CRUD操作

Futon有一个非常简单但有用的用户界面,用来执行基本的CRUD操作(创建,读取,更新和删除)。

在本节中,我们将创建一个名为todos的新数据库,向其中添加一个新文档,然后检索,更新和删除此文档。

注意:如果您已创建管理员用户,则必须以管理员身份登录才能创建新的数据库。

创建数据库和文档

要创建一个名为todos的新数据库,请单击屏幕的左上方的创建数据库(Create Database)链接。 这将出现类似如下对话框:

输入数据库的名称:todos,然后单击创建按钮。

这将创建一个名为todos的新数据库,并转到可以在新创建的数据库中创建和修改文档的页面。

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3