首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我如何才能看到mongo正在从mongo shell监听哪些端口?

我如何才能看到mongo正在从mongo shell监听哪些端口?
EN

Stack Overflow用户
提问于 2012-02-19 11:23:19
回答 4查看 158K关注 0票数 109

如果我有一个正在运行的mongo实例,我如何检查它从shell监听的端口号?我以为db.serverStatus()会这么做,但我看不出来。我看到了这个

代码语言:javascript
复制
"connections" : {
    "current" : 3,
    "available" : 816

很接近..。但不是。有什么建议吗?我已经阅读了文档,但似乎找不到任何可以做到这一点的命令。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-20 20:24:10

在system shell中,您可以使用lsof (参见下面Derick的答案)或netstat -an来查看进程实际在做什么。但是,假设您只能访问mongo外壳(正如您的问题标题所暗示的那样),那么您可以运行serverCmdLineOpts()命令。该输出将为您提供命令行上传递的所有参数(argv)和配置文件中的参数(已解析),您可以根据这些信息推断mongod正在侦听的端口。下面是一个例子:

代码语言:javascript
复制
db.serverCmdLineOpts()
{
    "argv" : [
        "./mongod",
        "-replSet",
        "test",
        "--rest",
        "--dbpath",
        "/data/test/r1",
        "--port",
        "30001"
    ],
    "parsed" : {
        "dbpath" : "/data/test/r1",
        "port" : 30001,
        "replSet" : "test",
        "rest" : true
    },
    "ok" : 1
}

如果您没有像上面那样传递特定的端口选项,那么默认情况下,mongod将侦听27017和28017 (http console)。注意:还有其他几个参数可以在不显式的情况下改变端口,请参见此处:

https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole

票数 77
EN

Stack Overflow用户

发布于 2012-02-19 18:40:03

您可以通过运行以下命令在操作系统shell中执行此操作:

代码语言:javascript
复制
sudo lsof -iTCP -sTCP:LISTEN | grep mongo
票数 230
EN

Stack Overflow用户

发布于 2015-12-07 20:20:09

试试这个:

代码语言:javascript
复制
db.runCommand({whatsmyuri : 1})

它将同时显示IP地址和端口号。

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9346431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档