无法连接到远程服务器上的mongo

2024-01-11

我已经在machine1上安装了mongo(Ubuntu 14.04.3 LTS server)在我的本地网络中。我也打开了端口27017如中提到的this https://docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/#traffic-to-and-from-mongod-instances使用以下命令进行指导:

sudo iptables -A INPUT -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT  -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

目前的规则是(iptables -L):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:27017 state NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:27017 state ESTABLISHED

但我无法从 machine2 (在同一网络中)连接到此端口:

$ mongo --host 192.168.0.108
MongoDB shell version: 3.0.4
connecting to: 192.168.0.108:27017/test
2016-01-23T18:02:14.848+0530 W NETWORK  Failed to connect to 192.168.0.108:27017, reason: errno:61 Connection refused
2016-01-23T18:02:14.850+0530 E QUERY    Error: couldn't connect to server 192.168.0.108:27017 (192.168.0.108), connection attempt failed
    at connect (src/mongo/shell/mongo.js:181:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:181
exception: connect failed

我还尝试检查端口是否打开:

$ nc -v 192.168.0.108 27017
nc: connectx to 192.168.0.108 port 27017 (tcp) failed: Connection refused

我不确定我错过了什么。一定是一些愚蠢的错误,因为我是第一次设置 mongo。请帮忙。

更新(针对当前答案中提出的疑问)

  1. 是的,它正在运行。我能够从同一台机器连接到 mongo,但不能从另一台机器连接到 mongo。守护进程正在运行:$ service mongod status mongod start/running, process 31205端口是27017$ sudo netstat -tulpn |grep 27017 tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 31205/mongod
  2. 我改变了bind_ip to 0.0.0.0并重新启动蒙戈。仍然出现同样的错误。

蒙戈日志:

$ cat /var/log/mongodb/mongod.log
2016-01-23T16:28:13.155+0530 I CONTROL  [initandlisten] MongoDB starting : pid=31205 port=27017 dbpath=/var/lib/mongodb 64-bit host=dexter
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] db version v3.2.1
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] git version: a14d55980c2cdc565d4704a7e3ad37e4e535c1b2
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] modules: none
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] build environment:
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-01-23T16:28:13.156+0530 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-01-23T16:28:13.173+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten]
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten]
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-01-23T16:28:14.444+0530 I CONTROL  [initandlisten]
2016-01-23T16:28:14.444+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongodb/diagnostic.data'
2016-01-23T16:28:14.444+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-01-23T16:28:14.949+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-01-23T16:38:37.046+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37032 #1 (1 connection now open)
2016-01-23T16:39:31.447+0530 I NETWORK  [conn1] end connection 127.0.0.1:37032 (0 connections now open)
2016-01-23T16:49:24.240+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37033 #2 (1 connection now open)
2016-01-23T16:49:38.249+0530 I NETWORK  [conn2] end connection 127.0.0.1:37033 (0 connections now open)
2016-01-23T16:51:51.707+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37034 #3 (1 connection now open)
2016-01-23T16:51:55.785+0530 I NETWORK  [conn3] end connection 127.0.0.1:37034 (0 connections now open)
2016-01-23T17:32:15.546+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37036 #4 (1 connection now open)
2016-01-23T17:32:21.180+0530 I NETWORK  [conn4] end connection 127.0.0.1:37036 (0 connections now open)
2016-01-23T18:11:57.885+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37037 #5 (1 connection now open)
2016-01-23T18:29:55.365+0530 I NETWORK  [conn5] end connection 127.0.0.1:37037 (0 connections now open)

确保 mongodb 守护进程正在运行,并且正在侦听 0.0.0.0 端口,但不是 127.0.0.1 端口

例如,对于我的本地 mongodb,它有以下配置:

[vodolaz095@steel ~]$ cat /etc/mongod.conf 
##
### Basic Defaults
##

# Comma separated list of ip addresses to listen on (all local ips by default)
bind_ip = 127.0.0.1

# Specify port number (27017 by default)
#port = 27017

对于 mongodb 服务器侦听远程连接,您可以更改

# Comma separated list of ip addresses to listen on (all local ips by default)
bind_ip = 0.0.0.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法连接到远程服务器上的mongo 的相关文章

随机推荐

  • 为什么我的图标没有出现在标题栏中?

    我已从 Visual Studio 解决方案资源管理器的 属性 窗口为我的应用程序分配了一个图标 应用程序的图标更改成功 但标题栏仍显示默认图标 我已经重建了我的应用程序 但它仍然显示默认图标 我究竟做错了什么 因为公司的图标配置与应用程序
  • 将 Y 轴放在热图的左侧?

    如何制作 Y 轴标签位于左侧的热图 好像默认是右边的 我需要使用自定义轴吗axis In the heatmap函数轴的位置是硬编码的 但只需更改一个数字即可将其定位在另一侧 这将非常容易 在控制台中输入 heatmap 然后将第二个参数从
  • PHP 中的单例模式...如何在请求之间保存状态

    通过使用静态变量和单例模式 我认为创建一个简单的购物车会很容易 它会在加载另一个页面时记住购物车中的商品 我遇到的问题是刷新页面时购物车不记得其中已有的内容 我下面的代码有问题吗 或者我应该只使用全局变量还是 mysql 数据库 存储状态的
  • Entity-Framework -> MySql 给出“函数评估超时”。

    我在使用 MySql 数据库的实体框架时遇到了一个奇怪的问题 这是我得到的代码 public class testbase private testEntities db new testEntities public IQueryable
  • 有没有办法从移动浏览器调用导航?

    我正在开发一个非常小的 HTML5 javascript 网站 可以通过 android iphone 等设备的移动浏览器打开 我正在使用 HTML5 的地理位置来获取当前位置 但一旦获得 我想导航到某个目的地 我想到的最好的办法是用户单击
  • 使用 EF Core 2.1 继承进行过滤

    当使用继承对象时 我试图找到一种方法来过滤 EF Core 2 1 中的结果 我有一个基本模型several继承的类 但我刚刚包含了一个 public class Like public int Id get set public Like
  • 不同机器上的应用程序访问时的 SQLite 同步

    我想知道 SQLite 是如何实现它的 它基于文件锁定吗 当然 并不是每个访问它的用户都锁定了整个数据库 那效率极低 它是基于多个文件还是仅基于一个大文件 如果有人能够简要概述一下 sqlite 中如何完成同步和锁定 或者当然提供一个链接
  • 使用 Instagram API 获取我的关注者和关注者列表

    我正在尝试使用 Instagram API 获取我的所有关注者和我在 Instagram 上关注的每个人的列表 我认为每当我尝试吸引关注者时 我的回复都会返回 null 这是我得到的错误 无法读取未定义的属性 长度 这是参考response
  • 隐含卸载应用程序的意图?

    我试图让 onclicklistener 调用卸载应用程序的意图 方法是让该意图从应用程序设置中调用默认的 卸载应用程序 活动 我已经发现here http developer android com reference android c
  • 应用程序突然关闭时堆内存清理

    众所周知 堆用于为应用程序动态分配内存 在应用程序异常终止的情况下 如何清除堆内存 从而避免内存泄漏 考虑以下场景 假设某个应用程序在 Windows 或 Linux 上突然崩溃 我们在 Linux 中强制终止一个应用程序 kill 9
  • 未找到规则“re​​act/require-extension”的定义

    我已经开始使用 Atom 来工作 React native 当我从 Atom 打开 index js 时 我收到错误 例如代码行顶部的 未找到规则 react require extension 的定义 我认为 无法导入 format 我不
  • event.target 在事件中未定义

    一个人如何使用each输入值events 希望我的下面的代码能很好地解释你 HTML
  • Pandas - 将分类列转换为二进制编码形式

    我有一个数据集 看起来像这样 yyyy month tmax tmin 0 1908 January 5 0 1 4 1 1908 February 7 3 1 9 2 1908 March 6 2 0 3 3 1908 April 7 4
  • 如何根据 Google BigQuery 中的特定列值连接一列的 N 行?

    USER ID string col 100001 Here 100001 there 100001 Apple 200002 this is 200002 that is 200002 Apple 200002 Cell 4 这是我的原始
  • 继续黑屏。以前从未见过这个

    我正在 Xcode 5 0 2 中为 iOS7 制作一个演示 并连接了一些场景并有一些按钮 一些视图控制器类和一些转场 没什么不寻常的 我以前从未见过的是 在某些构建上 当执行转场时 下一个视图控制器在推送后会间歇性地全黑 但并非总是如此
  • Laravel 5.3 安装错误

    我正在尝试启动本地托管在我的浏览器上的 laravel 但它给了我以下错误 解析错误 语法错误 意外的 期望 或变量 T VARIABLE 在 opt lampp htdocs projects larawiz vendor laravel
  • [if lt IE 9] 的 Slim 模板引擎语法

    我使用 slim 作为视图模板引擎http slim lang com http slim lang com 你会如何用 slim 编写下面的代码 thanks 应该使用 if lt IE 9 gt
  • 从字符串中提取Python字典

    我有一个字符串 里面有有效的 python 字典 data Some string created Foo u 1002803 Bar value string continue etc 我需要提取该字典 我尝试使用正则表达式 但由于某种原
  • 如何在 C 中访问(动态分配的)Fortran 数组

    我的主要问题是为什么数组会做如此奇怪的事情 以及是否有任何方法可以以 干净 的方式执行以下操作 我目前有一个C程序foo c连接 Fortran 程序bar f90 via dlopen dlsym 大致如下面的代码所示 foo c inc
  • 无法连接到远程服务器上的mongo

    我已经在machine1上安装了mongo Ubuntu 14 04 3 LTS server 在我的本地网络中 我也打开了端口27017如中提到的this https docs mongodb org manual tutorial co