我是CouchDB的初学者,想要使用CouchDB开展项目。我已按照 Beginning CouchDB 手册中的说明在我的笔记本电脑(运行Ubuntu 13.04)中设置了服务器,但CouchDB的版本几乎没有变化(手册中的说明有旧版本)。我下载了最新的 Source 版本的CouchDB,并使用终端执行了该书中讲述的其余操作。我能够从终端成功启动服务器但是当我使用
时$ 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 ]
我甚至尝试关闭系统的防火墙,但结果是一样的。如果您有任何相同的经历,请分享您解决此问题的经验,或让我知道配置相同的任何替代方法。
谢谢
答案 0 :(得分:5)
您需要在local.ini
/etc/couchdb/local.ini
文件中取消注释port和bind_address
变化:
;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"
你很高兴。
答案 1 :(得分:3)
只是给使用Mac的其他人留言,如果你重命名你的用户目录,那么CouchDB就不会像那样,这是我最近必须做的事情以及Couch所做的一切。
要解决此问题,您需要首先找到(~/Library/Application Support/CouchDB2/etc/couchdb/local.ini
)并编辑 local.ini 文件,将所有硬编码的绝对路径替换为新的用户目录,然后需要重新创建~/Library/Preferences/couchdb2-local.ini
符号链接以再次指向该文件。
答案 2 :(得分:2)
我遇到了同样的问题,我跑了一个" 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"并且失败了回到localdb的IPV6版本,这个版本没有找到。
当我将请求更改为" 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"}}
您可能遇到类似的问题,但即使您不是,也要添加" -v"选择你的" curl"命令可能会帮助您排除故障。
答案 3 :(得分:1)
可能是您在Ubuntu中遇到了打开文件限制(默认为1024),因此无法创建TCP连接。我远不是Ubuntu的专家,但据报道这是此类错误的先前原因。有关如何增加此限制的说明,请参阅askubuntu.com。 <{3}}中还有一个资源限制部分,可能会有所帮助。
答案 4 :(得分:1)
我遇到了同样的错误 从“https://linuxize.com/post/how-to-install-couchdb-on-ubuntu-20-04/”安装后
你只需要跑
sudo /etc/init.d/couchdb start
答案 5 :(得分:0)
DNS从/etc/resolv.conf和/ etc / hosts文件中查找正确的IP地址
您需要从/ etc / hosts文件中删除本地主机IP地址,其中DNS将尝试从外部世界未知的127.0.0.1解析。