介绍
Apache 的 CouchDB 是“一个完全包含 Web 的数据库”。 它是 NoSQL 数据库家族中的一个,它为 MySQL 等关系数据库的刚性结构提供了替代方案。
在撰写本文时,CouchDB 的当前版本是 1.3.1。 要获得这个最新版本,我们需要从源代码安装它(别担心,它并不像听起来那么可怕!)。
准备
首先,我们必须让我们的 VPS 为全新的 CouchDB 安装做好准备。 这意味着安装一些工具和依赖项,使 CouchDB 能够轻松编译和安装。
首先更新 Ubuntu 的包管理器:
$ apt-get update
接下来,安装编译 Couch 所需的工具:
$ apt-get install -y build-essential
现在安装 erlang 和一些相关的依赖项:
$ apt-get install -y erlang-base erlang-dev erlang-nox erlang-eunit
最后,安装几个 CouchDB 需要的库:
$ apt-get install -y libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool
获取源
满足所有依赖项后,让我们下载源代码副本并准备好它。
导航到我们的源将存在的目录:
$ cd /usr/local/src
抓住源头:
$ curl -O http://apache.mirrors.tds.net/couchdb/source/1.3.1/apache-couchdb-1.3.1.tar.gz
解压文件:
$ tar xvzf apache-couchdb-1.3.1.tar.gz
导航到我们的新目录:
$ cd apache-couchdb-1.3.1.tar.gz
编译安装
剩下的就是编译并安装到我们的新 CouchDB 服务器上。 配置我们的源代码,然后构建并安装它:
$ ./configure $ make && make install
就是这样! 我们现在安装了一个全新的 CouchDB 服务器并准备运行。 不过,在我们启动它之前,让我们做一些清理和合理的配置。
收尾工作
在 Ubuntu 上,CouchDB 喜欢以用户 couchdb 运行,所以让我们创建它。
$ adduser --disabled-login --disabled-password --no-create-home couched
您会看到一些提示,例如真实姓名和房间号。 您可以将这些留空并按需要按 Enter 或插入值。
现在我们需要给我们的新用户正确的权限来访问 CouchDB 的文件:
$ chown -R couchdb:couchdb /usr/local/var/log/couchdb /usr/local/var/lib/couchdb /usr/local/var/run/couchdb
将 CouchDB 安装为服务并允许它在启动时启动:
$ ln -s /usr/local/etc/init.d/couchdb /etc/init.d $ update-rc.d couchdb defaults
最后,启动 CouchDB 并放松一下!
$ service couchdb start
要验证它是否正在运行,请在端口 5984 上连接到它:
$ curl localhost:5984
您应该会看到如下响应:
$ curl localhost:5984 {"couchdb":"Welcome","uuid":"d79a7c37116364fcc76bcb91901f48c6","version":"1.3.1","vendor":{"name":"The Apache Software Foundation","version":"1.3.1"}}
配置
默认情况下,只能从 VPS 本身访问 CouchDB。 这可能是您想要的,但我们假设您不想要。 要允许从 Web 访问,让我们更改配置文件。 首先,为安全保存做好备份:
$ cp /usr/local/etc/couchdb/default.ini /usr/local/etc/couchdb/default.ini.bak
接下来,让我们在编辑器中打开文件:
$ nano /usr/local/etc/couchdb/default.ini
查找名为 bind_address 的设置,并将其更改为 0.0.0.0 - 这将使 CouchDB 绑定到所有可用地址(此时无法指定)。
[httpd] port = 5984 bind_address = 0.0.0.0
如果您希望 CouchDB 在不同的端口上运行,您现在也可以更改该设置。 完成更改后,保存文件并重新启动沙发。
$ service couchdb restart
现在可以从 Web 访问 CouchDB,包括内置的 Web 界面 Futon。 要访问 Futon,请将浏览器指向 http://your.drop.ip.here:5984/_utils 并准备好放松一下!
注意:如果您想从本地计算机访问您的 CouchDB 服务器,但 ' 不想向世界开放,请在您的 OSX 或 linux 计算机上使用此 ssh 隧道。
$ ssh -L 5984:localhost:5984 your.drop.ip.here
您现在可以在浏览器中通过 http://localhost:5984/_utils 访问您的服务器。