5

我是 CouchDB 的初学者,想使用 CouchDB 进行项目。我按照开始 CouchDB手册中给出的说明在我的笔记本电脑(运行 Ubuntu 13.04)中设置了服务器,但 CouchDB 的版本几乎没有变化(手册中的解释是旧版本)。我下载了 CouchDB 的最新Source版本,并使用终端执行了该书中所述的其余操作。我能够从终端成功启动服务器,但是当我使用

$ curl http://127.0.0.1:5984/

我得到这个

curl: (7) Failed connect to 127.0.0.1:5984; Connection refused

作为输出而不是这个

{"couchdb" : "Welcome", "version" : "1.3.1",}

我通过以下方式配置了服务器:

我首先从官网下载了Source文件,解压后复制到我的/home目录下,然后在终端中执行以下操作

$ cd apache-couchdb-1.3.1/

$ ./configure

$ make

$ sudo make install

$ sudo mkdir -p /usr/local/var/lib/couchdb

$ sudo mkdir -p /usr/local/var/log/couchdb

$ sudo mkdir -p /usr/local/var/run

$ sudo chown -R couchdb /usr/local/var/lib/couchdb

$ sudo chown -R couchdb /usr/local/var/log/couchdb

$ sudo chown -R couchdb /usr/local/var/run

$ sudo cp /usr/local/etc/init.d/couchdb /etc/init.d

$ sudo update-rc.d couchdb defaults

启动和查看工作服务器

$ sudo /etc/init.d/couchdb start

$ curl http://127.0.0.1:5984

当我输入此命令以启动服务器sudo /etc/init.d/couchdb start我在终端中得到如下回复:

* Starting database server couchdb                                      [ OK ]

我什至尝试关闭系统的防火墙,但结果是一样的。如果你们中的任何人有同样的经历,请分享您解决此问题的经验或让我知道配置相同的任何替代方法。

谢谢

4

6 回答 6

6

您需要在local.ini文件中 取消注释端口和绑定地址/etc/couchdb/local.ini

对于 Ubuntu 20:- /opt/couchdb/etc/local.ini

改变:

;port = 5984
;bind_address = 127.0.0.1

至:

port = 5984
bind_address = 0.0.0.0

然后重启 CouchDB

curl -X POST http://admin:password@localhost:5984/_restart -H"Content-Type: application/json"

你很高兴。

于 2016-08-24T15:36:41.760 回答
3

我遇到了同样的问题,我运行了“curl -v localhost:5984”并在我的 Mac 上得到了以下输出:

curl -v localhost:5948
* Rebuilt URL to: localhost:5948/
* Hostname was NOT found in DNS cache
*   Trying ::1...
* connect to ::1 port 5948 failed: Connection refused
*   Trying fe80::1...
* connect to fe80::1 port 5948 failed: Connection refused
* Failed to connect to localhost port 5948: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 5948: Connection refused

由于某种原因,“curl”无法解析名称“localhost”,并且无法返回到 couchdb 未侦听的 IPV6 版本的 localhost。

当我将请求更改为“curl 127.0.0.1:5984”时,请求起作用并返回:

curl 127.0.0.1:5984
{"couchdb":"Welcome","uuid":"7483189ec0bfb8df387a055674ea05f2","version":"1.6.1","vendor":{"version":"1.6.1-1","name":"Homebrew"}}

您可能会遇到类似的问题,但即使您没有,在您的“curl”命令中添加“-v”选项可能会帮助您解决问题。

于 2015-06-09T23:53:55.083 回答
3

只是对使用 Mac 的其他人的说明,如果您重命名用户目录,CouchDB 不喜欢它,这是我最近不得不做的,Couch 的一切都很难。

要修复它,您需要首先找到 ( ~/Library/Application Support/CouchDB2/etc/couchdb/local.ini) 并编辑您的local.ini文件以将所有硬编码的绝对路径替换为新的用户目录,然后您需要重新创建~/Library/Preferences/couchdb2-local.ini符号链接以再次指向该文件。

于 2017-02-08T16:33:14.287 回答
2

从“https://linuxize.com/post/how-to-install-couchdb-on-ubuntu-20-04/”安装后我遇到了同样的错误

你只需要跑

sudo /etc/init.d/couchdb start

于 2021-03-29T05:53:50.717 回答
1

可能是您在 Ubuntu 中达到了打开文件限制(默认为 1024),因此无法创建 TCP 连接。我远非 Ubuntu 专家,但据报道这是此类错误的先前原因。有关如何增加此限制的说明,请参阅askubuntu.com 。CouchDB Wiki中还有一个资源限制部分可能会有所帮助。

于 2013-07-29T07:22:49.260 回答
0

DNS 从文件 /etc/resolv.conf 和 /etc/hosts 中查找正确的 IP 地址

您需要从 /etc/hosts 文件中删除本地主机 IP 地址,DNS 将尝试从外部世界未知的 127.0.0.1 解析该地址。

于 2016-06-09T08:31:18.277 回答