AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 79453
Accepted
rcampbell
rcampbell
Asked: 2009-10-30 03:05:55 +0800 CST2009-10-30 03:05:55 +0800 CST 2009-10-30 03:05:55 +0800 CST

为什么我不能在 Ubuntu 9.04 服务器上从外部访问我的 CouchDB 实例?

  • 772

更新:我现在开始工作了。Jim Zajkowski 的回答帮助我检测到我的/etc/init.d/couchdb重新启动调用实际上并没有重新启动实例。在我手动终止 CouchDB 进程并启动一个新实例后,它获取了所需的 BindAddress 更改。

我已经通过安装 CouchDB

aptitude 安装 couchdb

从我的服务器,我可以通过

远程登录本地主机 5984

并执行 RESTful 命令。当我尝试从我们网络上的另一台计算机或我们网络外部的计算机访问服务器时,我收到连接已重置错误。我已经在路由器上设置了端口转发,并且可以通过 Apache、Tomcat、SSH 等访问服务器。

我是 Linux/Ubuntu 的新手,所以我不确定是否有默认防火墙阻止连接,所以我运行:

iptables -A INPUT -p tcp --dport 5984 -j ACCEPT

但这没有帮助。

这是运行iptables -L -n -v的转储

Chain INPUT (policy ACCEPT 2121K packets, 1319M bytes)
 pkts bytes target     prot opt in     out     source               destination
   70  3864 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:5984
    9  1647 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 1708K packets, 1136M bytes)
 pkts bytes target     prot opt in     out     source               destination

我假设显示为5984传输的字节是由于我的本地主机连接。

这是运行netstat -an |的转储 grep 5984

tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN

我将couch.ini配置为“BindAddress=0.0.0.0”并重新启动,因此它应该在所有接口上进行监听。但是,当我运行“sudo /etc/init.d/couchdb stop”然后运行 ​​netstat 时,我仍然看到上面的条目。看起来 CouchDB 实际上并没有停止。这可以解释我的问题,因为这意味着这可能意味着 CouchDB 从未真正重新启动,也从未获得 BindAddress 更改。

我手动终止了 CouchDB 进程并再次启动它。现在 netstat 显示:

 tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN
 tcp        0      0 127.0.0.1:5984          127.0.0.1:35366         TIME_WAIT

我仍然无法连接,即使是从 LAN 上的另一台机器。

linux
  • 7 7 个回答
  • 42219 Views

7 个回答

  • Voted
  1. Best Answer
    Jim Zajkowski
    2009-10-30T10:17:31+08:002009-10-30T10:17:31+08:00

    说什么netstat -an | grep 5984?它说127.0.0.1:5984或*:5984?如果是127.0.0.1,则需要将 couchdb 设置为侦听所有接口。

    • 34
  2. filtenborg
    2010-10-19T05:20:55+08:002010-10-19T05:20:55+08:00

    您必须更改 /etc/couchdb/default.ini 中的 bind_address。然后重新启动服务并重试。

    • 16
  3. user54291
    2010-09-15T15:21:02+08:002010-09-15T15:21:02+08:00

    我注意到,为了使其工作,您必须出于某种原因手动终止正在运行的 erlang 进程。ps ax | grep beam应该揭示 erlang 过程,你应该0:00 /usr/lib/erlang/erts在输出中的某个地方得到一些东西。如果你杀死这个进程然后运行/etc/init.d/couchdb restart新的配置文件将被加载。

    • 7
  4. Alexander Ovchinnikov
    2011-02-27T00:40:02+08:002011-02-27T00:40:02+08:00

    在家用 PC/Mac 上运行以下命令:

    ssh -L 5984:localhost:5984 YOUR-SERVER-IP-HERE
    

    下一次在浏览器中打开 localhost:5984/_utils ...它适用于我

    • 4
  5. Pete
    2016-01-15T08:12:31+08:002016-01-15T08:12:31+08:00

    配置文档:

    绑定地址

    如果您从 Futon 配置面板更改它,则无需执行任何其他操作(重新启动数据库等):

    在此处输入图像描述

    在更改默认 bind_address 之前:

    peter@earth:~/$ netstat -an | grep 5984
    tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN
    

    更改为 0.0.0.0 后:

    peter@earth:~/$ netstat -an | grep 5984
    tcp        0      0 0.0.0.1:5984          0.0.0.0:*               LISTEN
    

    请注意非专家:无法访问您的计算机(通常是本地网络之外的任何东西)仍然无法访问您的计算机(CouchDB 或其他任何东西)。

    • 4
  6. Matt
    2010-11-16T15:37:45+08:002010-11-16T15:37:45+08:00

    我遇到了这个问题,我的问题最终是显然在我安装的 Ubuntu 中已经安装了 couchdb。我一直在编辑 /etc/couchdb 下的配置文件,但正在运行的实际上是从 /usr/local/etc/couchdb 中提取配置文件。

    提示是 /etc/couchdb 中的配置提到了沙发 0.10,但我刚刚安装了 1.0.1。

    • 2
  7. Bill Weiss
    2009-10-30T10:27:11+08:002009-10-30T10:27:11+08:00

    iptables -L -n -v将显示您当前的防火墙规则。查看是否有一个在这些数据包到达您的规则之前丢弃了这些数据包。

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve